diff --git a/.github/workflows/build_linux_aarch64.yml b/.github/workflows/build_linux_aarch64.yml
new file mode 100644
index 00000000..d08b27c4
--- /dev/null
+++ b/.github/workflows/build_linux_aarch64.yml
@@ -0,0 +1,3288 @@
+jobs:
+ stage_0_job_0:
+ name: mutex ament-package ament-cmake-core
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs: []
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros2-distro-mutex ros-jazzy-ament-package ros-jazzy-ament-cmake-core
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros2-distro-mutex ros-jazzy-ament-package ros-jazzy-ament-cmake-core
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_1_job_1:
+ name: ros-workspace ros-environment
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_0_job_0
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros-workspace ros-jazzy-ros-environment
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros-workspace ros-jazzy-ros-environment
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_2_job_2:
+ name: ament-lint ament-cmake-python gtest-vendor ament-cmake-libraries ament-cmake-include-directories
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_1_job_1
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-lint ros-jazzy-ament-cmake-python ros-jazzy-gtest-vendor
+ ros-jazzy-ament-cmake-libraries ros-jazzy-ament-cmake-include-directories
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-lint ros-jazzy-ament-cmake-python ros-jazzy-gtest-vendor
+ ros-jazzy-ament-cmake-libraries ros-jazzy-ament-cmake-include-directories
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_2_job_3:
+ name: ament-cmake-export-libraries ament-cmake-version ament-cmake-export-link-flags
+ ament-cmake-export-include-directories ament-cmake-export-definitions
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_1_job_1
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-export-libraries ros-jazzy-ament-cmake-version
+ ros-jazzy-ament-cmake-export-link-flags ros-jazzy-ament-cmake-export-include-directories
+ ros-jazzy-ament-cmake-export-definitions
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-export-libraries ros-jazzy-ament-cmake-version
+ ros-jazzy-ament-cmake-export-link-flags ros-jazzy-ament-cmake-export-include-directories
+ ros-jazzy-ament-cmake-export-definitions
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_2_job_4:
+ name: ament-pycodestyle osrf-pycommon google-benchmark-vendor osrf-testing-tools-cpp
+ test-interface-files
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_1_job_1
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-pycodestyle ros-jazzy-osrf-pycommon ros-jazzy-google-benchmark-vendor
+ ros-jazzy-osrf-testing-tools-cpp ros-jazzy-test-interface-files
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-pycodestyle ros-jazzy-osrf-pycommon ros-jazzy-google-benchmark-vendor
+ ros-jazzy-osrf-testing-tools-cpp ros-jazzy-test-interface-files
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_2_job_5:
+ name: iceoryx-hoofs sdformat-test-files ruckig ros-industrial-cmake-boilerplate
+ ompl
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_1_job_1
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-iceoryx-hoofs ros-jazzy-sdformat-test-files ros-jazzy-ruckig
+ ros-jazzy-ros-industrial-cmake-boilerplate ros-jazzy-ompl
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-iceoryx-hoofs ros-jazzy-sdformat-test-files ros-jazzy-ruckig
+ ros-jazzy-ros-industrial-cmake-boilerplate ros-jazzy-ompl
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_2_job_6:
+ name: gtsam apriltag
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_1_job_1
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gtsam ros-jazzy-apriltag
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gtsam ros-jazzy-apriltag
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_3_job_7:
+ name: ament-flake8 ament-cmake-test ament-cmake-export-dependencies ament-cmake-target-dependencies
+ ament-cmake-export-targets
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_2_job_2
+ - stage_2_job_3
+ - stage_2_job_4
+ - stage_2_job_5
+ - stage_2_job_6
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-flake8 ros-jazzy-ament-cmake-test ros-jazzy-ament-cmake-export-dependencies
+ ros-jazzy-ament-cmake-target-dependencies ros-jazzy-ament-cmake-export-targets
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-flake8 ros-jazzy-ament-cmake-test ros-jazzy-ament-cmake-export-dependencies
+ ros-jazzy-ament-cmake-target-dependencies ros-jazzy-ament-cmake-export-targets
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_3_job_8:
+ name: ament-cmake-export-interfaces gmock-vendor iceoryx-posh backward-ros stomp
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_2_job_2
+ - stage_2_job_3
+ - stage_2_job_4
+ - stage_2_job_5
+ - stage_2_job_6
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-export-interfaces ros-jazzy-gmock-vendor ros-jazzy-iceoryx-posh
+ ros-jazzy-backward-ros ros-jazzy-stomp
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-export-interfaces ros-jazzy-gmock-vendor
+ ros-jazzy-iceoryx-posh ros-jazzy-backward-ros ros-jazzy-stomp
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_4_job_9:
+ name: ament-pep257 ament-cmake-gtest ament-cmake-vendor-package ament-mypy ament-lint-auto
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_3_job_7
+ - stage_3_job_8
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-pep257 ros-jazzy-ament-cmake-gtest ros-jazzy-ament-cmake-vendor-package
+ ros-jazzy-ament-mypy ros-jazzy-ament-lint-auto
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-pep257 ros-jazzy-ament-cmake-gtest ros-jazzy-ament-cmake-vendor-package
+ ros-jazzy-ament-mypy ros-jazzy-ament-lint-auto
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_4_job_10:
+ name: ament-cmake-pytest ament-cmake-google-benchmark iceoryx-binding-c ament-cmake-catch2
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_3_job_7
+ - stage_3_job_8
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-pytest ros-jazzy-ament-cmake-google-benchmark
+ ros-jazzy-iceoryx-binding-c ros-jazzy-ament-cmake-catch2
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-pytest ros-jazzy-ament-cmake-google-benchmark
+ ros-jazzy-iceoryx-binding-c ros-jazzy-ament-cmake-catch2
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_5_job_11:
+ name: ament-copyright ament-cmake-gen-version-h ament-cmake-gmock cyclonedds
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_4_job_9
+ - stage_4_job_10
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-copyright ros-jazzy-ament-cmake-gen-version-h ros-jazzy-ament-cmake-gmock
+ ros-jazzy-cyclonedds
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-copyright ros-jazzy-ament-cmake-gen-version-h
+ ros-jazzy-ament-cmake-gmock ros-jazzy-cyclonedds
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_6_job_12:
+ name: ament-lint-cmake ament-cmake ament-xmllint ament-cpplint ament-cppcheck
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_5_job_11
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-lint-cmake ros-jazzy-ament-cmake ros-jazzy-ament-xmllint
+ ros-jazzy-ament-cpplint ros-jazzy-ament-cppcheck
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-lint-cmake ros-jazzy-ament-cmake ros-jazzy-ament-xmllint
+ ros-jazzy-ament-cpplint ros-jazzy-ament-cppcheck
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_6_job_13:
+ name: ament-index-python domain-coordinator generate-parameter-library-py ament-clang-format
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_5_job_11
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-index-python ros-jazzy-domain-coordinator ros-jazzy-generate-parameter-library-py
+ ros-jazzy-ament-clang-format
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-index-python ros-jazzy-domain-coordinator
+ ros-jazzy-generate-parameter-library-py ros-jazzy-ament-clang-format
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_14:
+ name: ament-cmake-lint-cmake uncrustify-vendor launch rosidl-cli fastcdr
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-lint-cmake ros-jazzy-uncrustify-vendor ros-jazzy-launch
+ ros-jazzy-rosidl-cli ros-jazzy-fastcdr
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-lint-cmake ros-jazzy-uncrustify-vendor
+ ros-jazzy-launch ros-jazzy-rosidl-cli ros-jazzy-fastcdr
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_15:
+ name: rpyutils tl-expected tcb-span pybind11-vendor tinyxml2-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rpyutils ros-jazzy-tl-expected ros-jazzy-tcb-span ros-jazzy-pybind11-vendor
+ ros-jazzy-tinyxml2-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rpyutils ros-jazzy-tl-expected ros-jazzy-tcb-span
+ ros-jazzy-pybind11-vendor ros-jazzy-tinyxml2-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_16:
+ name: ros2-control-test-assets yaml-cpp-vendor zstd-vendor liblz4-vendor libcurl-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros2-control-test-assets ros-jazzy-yaml-cpp-vendor ros-jazzy-zstd-vendor
+ ros-jazzy-liblz4-vendor ros-jazzy-libcurl-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros2-control-test-assets ros-jazzy-yaml-cpp-vendor
+ ros-jazzy-zstd-vendor ros-jazzy-liblz4-vendor ros-jazzy-libcurl-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_17:
+ name: sqlite3-vendor xacro moveit-resources-panda-description random-numbers eigen-stl-containers
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-sqlite3-vendor ros-jazzy-xacro ros-jazzy-moveit-resources-panda-description
+ ros-jazzy-random-numbers ros-jazzy-eigen-stl-containers
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-sqlite3-vendor ros-jazzy-xacro ros-jazzy-moveit-resources-panda-description
+ ros-jazzy-random-numbers ros-jazzy-eigen-stl-containers
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_18:
+ name: moveit-resources-pr2-description moveit-common angles moveit-resources-fanuc-description
+ ament-cmake-auto
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-resources-pr2-description ros-jazzy-moveit-common
+ ros-jazzy-angles ros-jazzy-moveit-resources-fanuc-description ros-jazzy-ament-cmake-auto
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-resources-pr2-description ros-jazzy-moveit-common
+ ros-jazzy-angles ros-jazzy-moveit-resources-fanuc-description ros-jazzy-ament-cmake-auto
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_7_job_19:
+ name: sdl2-vendor ur-client-library zenoh-cpp-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_6_job_12
+ - stage_6_job_13
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-sdl2-vendor ros-jazzy-ur-client-library ros-jazzy-zenoh-cpp-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-sdl2-vendor ros-jazzy-ur-client-library ros-jazzy-zenoh-cpp-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_8_job_20:
+ name: ament-cmake-copyright ament-uncrustify launch-yaml launch-xml mcap-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_7_job_14
+ - stage_7_job_15
+ - stage_7_job_16
+ - stage_7_job_17
+ - stage_7_job_18
+ - stage_7_job_19
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-copyright ros-jazzy-ament-uncrustify ros-jazzy-launch-yaml
+ ros-jazzy-launch-xml ros-jazzy-mcap-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-copyright ros-jazzy-ament-uncrustify
+ ros-jazzy-launch-yaml ros-jazzy-launch-xml ros-jazzy-mcap-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_8_job_21:
+ name: moveit-resources-prbt-support
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_7_job_14
+ - stage_7_job_15
+ - stage_7_job_16
+ - stage_7_job_17
+ - stage_7_job_18
+ - stage_7_job_19
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-resources-prbt-support
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-resources-prbt-support
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_9_job_22:
+ name: ament-cmake-xmllint ament-cmake-uncrustify ament-cmake-pep257 ament-cmake-flake8
+ ament-cmake-cpplint
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_8_job_20
+ - stage_8_job_21
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-xmllint ros-jazzy-ament-cmake-uncrustify ros-jazzy-ament-cmake-pep257
+ ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-cpplint
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-xmllint ros-jazzy-ament-cmake-uncrustify
+ ros-jazzy-ament-cmake-pep257 ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-cpplint
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_9_job_23:
+ name: ament-cmake-cppcheck launch-testing eigen3-cmake-module ament-cmake-clang-format
+ ament-cmake-mypy
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_8_job_20
+ - stage_8_job_21
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-cmake-cppcheck ros-jazzy-launch-testing ros-jazzy-eigen3-cmake-module
+ ros-jazzy-ament-cmake-clang-format ros-jazzy-ament-cmake-mypy
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-cmake-cppcheck ros-jazzy-launch-testing ros-jazzy-eigen3-cmake-module
+ ros-jazzy-ament-cmake-clang-format ros-jazzy-ament-cmake-mypy
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_10_job_24:
+ name: ament-lint-common foonathan-memory-vendor gz-cmake-vendor rviz-ogre-vendor
+ rviz-assimp-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_9_job_22
+ - stage_9_job_23
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-lint-common ros-jazzy-foonathan-memory-vendor ros-jazzy-gz-cmake-vendor
+ ros-jazzy-rviz-ogre-vendor ros-jazzy-rviz-assimp-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-lint-common ros-jazzy-foonathan-memory-vendor
+ ros-jazzy-gz-cmake-vendor ros-jazzy-rviz-ogre-vendor ros-jazzy-rviz-assimp-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_10_job_25:
+ name: gz-ogre-next-vendor gz-dartsim-vendor launch-pytest
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_9_job_22
+ - stage_9_job_23
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gz-ogre-next-vendor ros-jazzy-gz-dartsim-vendor ros-jazzy-launch-pytest
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gz-ogre-next-vendor ros-jazzy-gz-dartsim-vendor
+ ros-jazzy-launch-pytest
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_11_job_26:
+ name: python-cmake-module rosidl-adapter performance-test-fixture mimick-vendor
+ ament-cmake-ros
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_10_job_24
+ - stage_10_job_25
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-python-cmake-module ros-jazzy-rosidl-adapter ros-jazzy-performance-test-fixture
+ ros-jazzy-mimick-vendor ros-jazzy-ament-cmake-ros
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-python-cmake-module ros-jazzy-rosidl-adapter ros-jazzy-performance-test-fixture
+ ros-jazzy-mimick-vendor ros-jazzy-ament-cmake-ros
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_11_job_27:
+ name: rosidl-typesupport-interface fastrtps-cmake-module fastrtps rti-connext-dds-cmake-module
+ rmw-implementation-cmake
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_10_job_24
+ - stage_10_job_25
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-typesupport-interface ros-jazzy-fastrtps-cmake-module
+ ros-jazzy-fastrtps ros-jazzy-rti-connext-dds-cmake-module ros-jazzy-rmw-implementation-cmake
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-interface ros-jazzy-fastrtps-cmake-module
+ ros-jazzy-fastrtps ros-jazzy-rti-connext-dds-cmake-module ros-jazzy-rmw-implementation-cmake
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_11_job_28:
+ name: ament-index-cpp spdlog-vendor gz-utils-vendor gz-tools-vendor orocos-kdl-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_10_job_24
+ - stage_10_job_25
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ament-index-cpp ros-jazzy-spdlog-vendor ros-jazzy-gz-utils-vendor
+ ros-jazzy-gz-tools-vendor ros-jazzy-orocos-kdl-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ament-index-cpp ros-jazzy-spdlog-vendor ros-jazzy-gz-utils-vendor
+ ros-jazzy-gz-tools-vendor ros-jazzy-orocos-kdl-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_11_job_29:
+ name: python-qt-binding smclib osqp-vendor tango-icons-vendor keyboard-handler
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_10_job_24
+ - stage_10_job_25
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-python-qt-binding ros-jazzy-smclib ros-jazzy-osqp-vendor
+ ros-jazzy-tango-icons-vendor ros-jazzy-keyboard-handler
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-python-qt-binding ros-jazzy-smclib ros-jazzy-osqp-vendor
+ ros-jazzy-tango-icons-vendor ros-jazzy-keyboard-handler
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_11_job_30:
+ name: tlsf rttest
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_10_job_24
+ - stage_10_job_25
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-tlsf ros-jazzy-rttest
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-tlsf ros-jazzy-rttest
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_12_job_31:
+ name: launch-testing-ament-cmake rosidl-parser tracetools libyaml-vendor console-bridge-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ - stage_11_job_30
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-launch-testing-ament-cmake ros-jazzy-rosidl-parser ros-jazzy-tracetools
+ ros-jazzy-libyaml-vendor ros-jazzy-console-bridge-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-launch-testing-ament-cmake ros-jazzy-rosidl-parser
+ ros-jazzy-tracetools ros-jazzy-libyaml-vendor ros-jazzy-console-bridge-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_12_job_32:
+ name: urdf-parser-plugin gz-math-vendor python-orocos-kdl-vendor resource-retriever
+ gz-plugin-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ - stage_11_job_30
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-urdf-parser-plugin ros-jazzy-gz-math-vendor ros-jazzy-python-orocos-kdl-vendor
+ ros-jazzy-resource-retriever ros-jazzy-gz-plugin-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-urdf-parser-plugin ros-jazzy-gz-math-vendor ros-jazzy-python-orocos-kdl-vendor
+ ros-jazzy-resource-retriever ros-jazzy-gz-plugin-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_12_job_33:
+ name: qt-gui qt-gui-py-common tracetools-image-pipeline qt-dotgraph
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ - stage_11_job_30
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-qt-gui ros-jazzy-qt-gui-py-common ros-jazzy-tracetools-image-pipeline
+ ros-jazzy-qt-dotgraph
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-qt-gui ros-jazzy-qt-gui-py-common ros-jazzy-tracetools-image-pipeline
+ ros-jazzy-qt-dotgraph
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_13_job_34:
+ name: rcutils rosidl-pycommon rosidl-generator-type-description sdformat-vendor
+ rviz-rendering
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_12_job_31
+ - stage_12_job_32
+ - stage_12_job_33
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rcutils ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-generator-type-description
+ ros-jazzy-sdformat-vendor ros-jazzy-rviz-rendering
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rcutils ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-generator-type-description
+ ros-jazzy-sdformat-vendor ros-jazzy-rviz-rendering
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_13_job_35:
+ name: gz-msgs-vendor gz-common-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_12_job_31
+ - stage_12_job_32
+ - stage_12_job_33
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gz-msgs-vendor ros-jazzy-gz-common-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gz-msgs-vendor ros-jazzy-gz-common-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_14_job_36:
+ name: rosidl-runtime-c rosidl-cmake rcpputils rviz-rendering-tests gz-transport-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_13_job_34
+ - stage_13_job_35
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-runtime-c ros-jazzy-rosidl-cmake ros-jazzy-rcpputils
+ ros-jazzy-rviz-rendering-tests ros-jazzy-gz-transport-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-runtime-c ros-jazzy-rosidl-cmake ros-jazzy-rcpputils
+ ros-jazzy-rviz-rendering-tests ros-jazzy-gz-transport-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_14_job_37:
+ name: gz-rendering-vendor gz-physics-vendor gz-fuel-tools-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_13_job_34
+ - stage_13_job_35
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gz-rendering-vendor ros-jazzy-gz-physics-vendor ros-jazzy-gz-fuel-tools-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gz-rendering-vendor ros-jazzy-gz-physics-vendor
+ ros-jazzy-gz-fuel-tools-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_15_job_38:
+ name: rosidl-runtime-cpp rosidl-generator-c rosidl-dynamic-typesupport rcl-logging-interface
+ class-loader
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_14_job_36
+ - stage_14_job_37
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-generator-c ros-jazzy-rosidl-dynamic-typesupport
+ ros-jazzy-rcl-logging-interface ros-jazzy-class-loader
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-generator-c
+ ros-jazzy-rosidl-dynamic-typesupport ros-jazzy-rcl-logging-interface ros-jazzy-class-loader
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_15_job_39:
+ name: gz-sensors-vendor gz-gui-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_14_job_36
+ - stage_14_job_37
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gz-sensors-vendor ros-jazzy-gz-gui-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gz-sensors-vendor ros-jazzy-gz-gui-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_16_job_40:
+ name: rosidl-generator-cpp rmw rosidl-typesupport-introspection-c rosidl-dynamic-typesupport-fastrtps
+ rcl-logging-spdlog
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_15_job_38
+ - stage_15_job_39
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-generator-cpp ros-jazzy-rmw ros-jazzy-rosidl-typesupport-introspection-c
+ ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rcl-logging-spdlog
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-generator-cpp ros-jazzy-rmw ros-jazzy-rosidl-typesupport-introspection-c
+ ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rcl-logging-spdlog
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_16_job_41:
+ name: pluginlib gz-sim-vendor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_15_job_38
+ - stage_15_job_39
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-pluginlib ros-jazzy-gz-sim-vendor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-pluginlib ros-jazzy-gz-sim-vendor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_17_job_42:
+ name: rosidl-typesupport-fastrtps-cpp rosidl-typesupport-introspection-cpp rcl-yaml-param-parser
+ urdf qt-gui-cpp
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_16_job_40
+ - stage_16_job_41
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-typesupport-fastrtps-cpp ros-jazzy-rosidl-typesupport-introspection-cpp
+ ros-jazzy-rcl-yaml-param-parser ros-jazzy-urdf ros-jazzy-qt-gui-cpp
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-fastrtps-cpp ros-jazzy-rosidl-typesupport-introspection-cpp
+ ros-jazzy-rcl-yaml-param-parser ros-jazzy-urdf ros-jazzy-qt-gui-cpp
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_18_job_43:
+ name: rosidl-typesupport-fastrtps-c sdformat-urdf kdl-parser srdfdom
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_17_job_42
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-typesupport-fastrtps-c ros-jazzy-sdformat-urdf
+ ros-jazzy-kdl-parser ros-jazzy-srdfdom
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-fastrtps-c ros-jazzy-sdformat-urdf
+ ros-jazzy-kdl-parser ros-jazzy-srdfdom
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_19_job_44:
+ name: rosidl-typesupport-c rmw-zenoh-cpp rosidl-typesupport-cpp rosidl-generator-py
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_18_job_43
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-typesupport-c ros-jazzy-rmw-zenoh-cpp ros-jazzy-rosidl-typesupport-cpp
+ ros-jazzy-rosidl-generator-py
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-c ros-jazzy-rmw-zenoh-cpp ros-jazzy-rosidl-typesupport-cpp
+ ros-jazzy-rosidl-generator-py
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_20_job_45:
+ name: rosidl-core-runtime rosidl-core-generators builtin-interfaces unique-identifier-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_19_job_44
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-core-runtime ros-jazzy-rosidl-core-generators ros-jazzy-builtin-interfaces
+ ros-jazzy-unique-identifier-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-core-runtime ros-jazzy-rosidl-core-generators
+ ros-jazzy-builtin-interfaces ros-jazzy-unique-identifier-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_21_job_46:
+ name: service-msgs action-msgs type-description-interfaces
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_20_job_45
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-service-msgs ros-jazzy-action-msgs ros-jazzy-type-description-interfaces
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-service-msgs ros-jazzy-action-msgs ros-jazzy-type-description-interfaces
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_22_job_47:
+ name: rosidl-default-runtime rosidl-default-generators
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_21_job_46
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-default-runtime ros-jazzy-rosidl-default-generators
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-default-runtime ros-jazzy-rosidl-default-generators
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_23_job_48:
+ name: rmw-dds-common test-msgs rcl-interfaces std-msgs statistics-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_47
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rmw-dds-common ros-jazzy-test-msgs ros-jazzy-rcl-interfaces
+ ros-jazzy-std-msgs ros-jazzy-statistics-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rmw-dds-common ros-jazzy-test-msgs ros-jazzy-rcl-interfaces
+ ros-jazzy-std-msgs ros-jazzy-statistics-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_23_job_49:
+ name: rosgraph-msgs lifecycle-msgs std-srvs example-interfaces ros2cli-test-interfaces
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_47
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosgraph-msgs ros-jazzy-lifecycle-msgs ros-jazzy-std-srvs
+ ros-jazzy-example-interfaces ros-jazzy-ros2cli-test-interfaces
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosgraph-msgs ros-jazzy-lifecycle-msgs ros-jazzy-std-srvs
+ ros-jazzy-example-interfaces ros-jazzy-ros2cli-test-interfaces
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_23_job_50:
+ name: topic-tools-interfaces rosbag2-test-msgdefs rosbag2-interfaces twist-mux-msgs
+ ur-dashboard-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_47
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-topic-tools-interfaces ros-jazzy-rosbag2-test-msgdefs
+ ros-jazzy-rosbag2-interfaces ros-jazzy-twist-mux-msgs ros-jazzy-ur-dashboard-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-topic-tools-interfaces ros-jazzy-rosbag2-test-msgdefs
+ ros-jazzy-rosbag2-interfaces ros-jazzy-twist-mux-msgs ros-jazzy-ur-dashboard-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_23_job_51:
+ name: rosbridge-msgs pendulum-msgs action-tutorials-interfaces
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_47
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosbridge-msgs ros-jazzy-pendulum-msgs ros-jazzy-action-tutorials-interfaces
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosbridge-msgs ros-jazzy-pendulum-msgs ros-jazzy-action-tutorials-interfaces
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_24_job_52:
+ name: rmw-fastrtps-shared-cpp rmw-connextdds-common rmw-cyclonedds-cpp composition-interfaces
+ geometry-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ - stage_23_job_51
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-connextdds-common
+ ros-jazzy-rmw-cyclonedds-cpp ros-jazzy-composition-interfaces ros-jazzy-geometry-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-connextdds-common
+ ros-jazzy-rmw-cyclonedds-cpp ros-jazzy-composition-interfaces ros-jazzy-geometry-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_24_job_53:
+ name: rosidl-runtime-py controller-manager-msgs actionlib-msgs bond ackermann-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ - stage_23_job_51
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosidl-runtime-py ros-jazzy-controller-manager-msgs ros-jazzy-actionlib-msgs
+ ros-jazzy-bond ros-jazzy-ackermann-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosidl-runtime-py ros-jazzy-controller-manager-msgs
+ ros-jazzy-actionlib-msgs ros-jazzy-bond ros-jazzy-ackermann-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_24_job_54:
+ name: gps-msgs actuator-msgs velodyne-msgs rosapi-msgs rtcm-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ - stage_23_job_51
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gps-msgs ros-jazzy-actuator-msgs ros-jazzy-velodyne-msgs
+ ros-jazzy-rosapi-msgs ros-jazzy-rtcm-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gps-msgs ros-jazzy-actuator-msgs ros-jazzy-velodyne-msgs
+ ros-jazzy-rosapi-msgs ros-jazzy-rtcm-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_24_job_55:
+ name: nmea-msgs apriltag-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ - stage_23_job_51
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nmea-msgs ros-jazzy-apriltag-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nmea-msgs ros-jazzy-apriltag-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_25_job_56:
+ name: rmw-fastrtps-dynamic-cpp rmw-fastrtps-cpp rmw-connextdds sensor-msgs trajectory-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ - stage_24_job_55
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rmw-fastrtps-dynamic-cpp ros-jazzy-rmw-fastrtps-cpp ros-jazzy-rmw-connextdds
+ ros-jazzy-sensor-msgs ros-jazzy-trajectory-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rmw-fastrtps-dynamic-cpp ros-jazzy-rmw-fastrtps-cpp
+ ros-jazzy-rmw-connextdds ros-jazzy-sensor-msgs ros-jazzy-trajectory-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_25_job_57:
+ name: tf2-msgs tf2 diagnostic-msgs shape-msgs octomap-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ - stage_24_job_55
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-tf2-msgs ros-jazzy-tf2 ros-jazzy-diagnostic-msgs ros-jazzy-shape-msgs
+ ros-jazzy-octomap-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-tf2-msgs ros-jazzy-tf2 ros-jazzy-diagnostic-msgs
+ ros-jazzy-shape-msgs ros-jazzy-octomap-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_25_job_58:
+ name: nav-msgs geographic-msgs nav-2d-msgs vision-msgs ros-gz-interfaces
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ - stage_24_job_55
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav-msgs ros-jazzy-geographic-msgs ros-jazzy-nav-2d-msgs
+ ros-jazzy-vision-msgs ros-jazzy-ros-gz-interfaces
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav-msgs ros-jazzy-geographic-msgs ros-jazzy-nav-2d-msgs
+ ros-jazzy-vision-msgs ros-jazzy-ros-gz-interfaces
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_25_job_59:
+ name: ur-msgs graph-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ - stage_24_job_55
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ur-msgs ros-jazzy-graph-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ur-msgs ros-jazzy-graph-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_26_job_60:
+ name: rmw-implementation control-msgs object-recognition-msgs visualization-msgs
+ stereo-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ - stage_25_job_59
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rmw-implementation ros-jazzy-control-msgs ros-jazzy-object-recognition-msgs
+ ros-jazzy-visualization-msgs ros-jazzy-stereo-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rmw-implementation ros-jazzy-control-msgs ros-jazzy-object-recognition-msgs
+ ros-jazzy-visualization-msgs ros-jazzy-stereo-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_26_job_61:
+ name: sensor-msgs-py map-msgs tf2-eigen-kdl dwb-msgs image-geometry
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ - stage_25_job_59
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-sensor-msgs-py ros-jazzy-map-msgs ros-jazzy-tf2-eigen-kdl
+ ros-jazzy-dwb-msgs ros-jazzy-image-geometry
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-sensor-msgs-py ros-jazzy-map-msgs ros-jazzy-tf2-eigen-kdl
+ ros-jazzy-dwb-msgs ros-jazzy-image-geometry
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_26_job_62:
+ name: pcl-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ - stage_25_job_59
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-pcl-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-pcl-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_27_job_63:
+ name: rcl moveit-msgs common-interfaces
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_26_job_60
+ - stage_26_job_61
+ - stage_26_job_62
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rcl ros-jazzy-moveit-msgs ros-jazzy-common-interfaces
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rcl ros-jazzy-moveit-msgs ros-jazzy-common-interfaces
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_28_job_64:
+ name: libstatistics-collector rcl-lifecycle rcl-action
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_27_job_63
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-libstatistics-collector ros-jazzy-rcl-lifecycle ros-jazzy-rcl-action
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-libstatistics-collector ros-jazzy-rcl-lifecycle
+ ros-jazzy-rcl-action
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_29_job_65:
+ name: rclcpp rclpy
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_28_job_64
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rclcpp ros-jazzy-rclpy
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rclcpp ros-jazzy-rclpy
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_66:
+ name: rsl rclcpp-lifecycle rclcpp-action launch-ros ros2cli
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rsl ros-jazzy-rclcpp-lifecycle ros-jazzy-rclcpp-action
+ ros-jazzy-launch-ros ros-jazzy-ros2cli
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rsl ros-jazzy-rclcpp-lifecycle ros-jazzy-rclcpp-action
+ ros-jazzy-launch-ros ros-jazzy-ros2cli
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_67:
+ name: rclcpp-components filters rosbag2-test-common tf2-py geometric-shapes
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rclcpp-components ros-jazzy-filters ros-jazzy-rosbag2-test-common
+ ros-jazzy-tf2-py ros-jazzy-geometric-shapes
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rclcpp-components ros-jazzy-filters ros-jazzy-rosbag2-test-common
+ ros-jazzy-tf2-py ros-jazzy-geometric-shapes
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_68:
+ name: launch-param-builder cv-bridge laser-geometry behaviortree-cpp rqt-gui
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-launch-param-builder ros-jazzy-cv-bridge ros-jazzy-laser-geometry
+ ros-jazzy-behaviortree-cpp ros-jazzy-rqt-gui
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-launch-param-builder ros-jazzy-cv-bridge ros-jazzy-laser-geometry
+ ros-jazzy-behaviortree-cpp ros-jazzy-rqt-gui
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_69:
+ name: rqt-py-common rqt-gui-cpp camera-calibration-parsers rosbridge-test-msgs
+ teleop-twist-keyboard
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rqt-py-common ros-jazzy-rqt-gui-cpp ros-jazzy-camera-calibration-parsers
+ ros-jazzy-rosbridge-test-msgs ros-jazzy-teleop-twist-keyboard
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rqt-py-common ros-jazzy-rqt-gui-cpp ros-jazzy-camera-calibration-parsers
+ ros-jazzy-rosbridge-test-msgs ros-jazzy-teleop-twist-keyboard
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_70:
+ name: tlsf-cpp dummy-sensors dummy-map-server demo-nodes-py quality-of-service-demo-py
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-tlsf-cpp ros-jazzy-dummy-sensors ros-jazzy-dummy-map-server
+ ros-jazzy-demo-nodes-py ros-jazzy-quality-of-service-demo-py
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-tlsf-cpp ros-jazzy-dummy-sensors ros-jazzy-dummy-map-server
+ ros-jazzy-demo-nodes-py ros-jazzy-quality-of-service-demo-py
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_71:
+ name: intra-process-demo examples-rclpy-minimal-subscriber examples-rclpy-minimal-service
+ examples-rclpy-minimal-publisher examples-rclpy-minimal-client
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-intra-process-demo ros-jazzy-examples-rclpy-minimal-subscriber
+ ros-jazzy-examples-rclpy-minimal-service ros-jazzy-examples-rclpy-minimal-publisher
+ ros-jazzy-examples-rclpy-minimal-client
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-intra-process-demo ros-jazzy-examples-rclpy-minimal-subscriber
+ ros-jazzy-examples-rclpy-minimal-service ros-jazzy-examples-rclpy-minimal-publisher
+ ros-jazzy-examples-rclpy-minimal-client
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_72:
+ name: examples-rclpy-minimal-action-server examples-rclpy-minimal-action-client
+ examples-rclpy-executors examples-rclcpp-multithreaded-executor examples-rclcpp-minimal-timer
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-examples-rclpy-minimal-action-server ros-jazzy-examples-rclpy-minimal-action-client
+ ros-jazzy-examples-rclpy-executors ros-jazzy-examples-rclcpp-multithreaded-executor
+ ros-jazzy-examples-rclcpp-minimal-timer
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-examples-rclpy-minimal-action-server ros-jazzy-examples-rclpy-minimal-action-client
+ ros-jazzy-examples-rclpy-executors ros-jazzy-examples-rclcpp-multithreaded-executor
+ ros-jazzy-examples-rclcpp-minimal-timer
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_30_job_73:
+ name: examples-rclcpp-minimal-service examples-rclcpp-minimal-publisher examples-rclcpp-minimal-client
+ action-tutorials-py plotjuggler
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_65
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-examples-rclcpp-minimal-service ros-jazzy-examples-rclcpp-minimal-publisher
+ ros-jazzy-examples-rclcpp-minimal-client ros-jazzy-action-tutorials-py ros-jazzy-plotjuggler
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-examples-rclcpp-minimal-service ros-jazzy-examples-rclcpp-minimal-publisher
+ ros-jazzy-examples-rclcpp-minimal-client ros-jazzy-action-tutorials-py ros-jazzy-plotjuggler
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_74:
+ name: parameter-traits realtime-tools launch-testing-ros message-filters ros2lifecycle-test-fixtures
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-parameter-traits ros-jazzy-realtime-tools ros-jazzy-launch-testing-ros
+ ros-jazzy-message-filters ros-jazzy-ros2lifecycle-test-fixtures
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-parameter-traits ros-jazzy-realtime-tools ros-jazzy-launch-testing-ros
+ ros-jazzy-message-filters ros-jazzy-ros2lifecycle-test-fixtures
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_75:
+ name: ros2multicast rosbag2-storage tf2-ros-py topic-tools nav2-common
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros2multicast ros-jazzy-rosbag2-storage ros-jazzy-tf2-ros-py
+ ros-jazzy-topic-tools ros-jazzy-nav2-common
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros2multicast ros-jazzy-rosbag2-storage ros-jazzy-tf2-ros-py
+ ros-jazzy-topic-tools ros-jazzy-nav2-common
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_76:
+ name: bondcpp moveit-configs-utils kinematics-interface ros-gz-bridge rqt-gui-py
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-bondcpp ros-jazzy-moveit-configs-utils ros-jazzy-kinematics-interface
+ ros-jazzy-ros-gz-bridge ros-jazzy-rqt-gui-py
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-bondcpp ros-jazzy-moveit-configs-utils ros-jazzy-kinematics-interface
+ ros-jazzy-ros-gz-bridge ros-jazzy-rqt-gui-py
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_77:
+ name: ros-gz-sim camera-info-manager joy rosbridge-library velodyne-laserscan
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros-gz-sim ros-jazzy-camera-info-manager ros-jazzy-joy
+ ros-jazzy-rosbridge-library ros-jazzy-velodyne-laserscan
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros-gz-sim ros-jazzy-camera-info-manager ros-jazzy-joy
+ ros-jazzy-rosbridge-library ros-jazzy-velodyne-laserscan
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_78:
+ name: vision-opencv turtlesim topic-monitor quality-of-service-demo-cpp examples-rclcpp-minimal-subscriber
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-vision-opencv ros-jazzy-turtlesim ros-jazzy-topic-monitor
+ ros-jazzy-quality-of-service-demo-cpp ros-jazzy-examples-rclcpp-minimal-subscriber
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-vision-opencv ros-jazzy-turtlesim ros-jazzy-topic-monitor
+ ros-jazzy-quality-of-service-demo-cpp ros-jazzy-examples-rclcpp-minimal-subscriber
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_79:
+ name: examples-rclcpp-minimal-composition examples-rclcpp-minimal-action-server
+ examples-rclcpp-minimal-action-client depthimage-to-laserscan action-tutorials-cpp
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-examples-rclcpp-minimal-composition ros-jazzy-examples-rclcpp-minimal-action-server
+ ros-jazzy-examples-rclcpp-minimal-action-client ros-jazzy-depthimage-to-laserscan
+ ros-jazzy-action-tutorials-cpp
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-examples-rclcpp-minimal-composition ros-jazzy-examples-rclcpp-minimal-action-server
+ ros-jazzy-examples-rclcpp-minimal-action-client ros-jazzy-depthimage-to-laserscan
+ ros-jazzy-action-tutorials-cpp
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_31_job_80:
+ name: flex-sync
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_66
+ - stage_30_job_67
+ - stage_30_job_68
+ - stage_30_job_69
+ - stage_30_job_70
+ - stage_30_job_71
+ - stage_30_job_72
+ - stage_30_job_73
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-flex-sync
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-flex-sync
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_81:
+ name: generate-parameter-library ros2pkg ros2service ros2node tf2-ros
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-generate-parameter-library ros-jazzy-ros2pkg ros-jazzy-ros2service
+ ros-jazzy-ros2node ros-jazzy-tf2-ros
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-generate-parameter-library ros-jazzy-ros2pkg ros-jazzy-ros2service
+ ros-jazzy-ros2node ros-jazzy-tf2-ros
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_82:
+ name: ros2test diagnostic-updater ros2topic ros2interface ros2doctor
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros2test ros-jazzy-diagnostic-updater ros-jazzy-ros2topic
+ ros-jazzy-ros2interface ros-jazzy-ros2doctor
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros2test ros-jazzy-diagnostic-updater ros-jazzy-ros2topic
+ ros-jazzy-ros2interface ros-jazzy-ros2doctor
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_83:
+ name: ros2action rosbag2-storage-sqlite3 rosbag2-storage-mcap nav2-msgs nav2-voxel-grid
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros2action ros-jazzy-rosbag2-storage-sqlite3 ros-jazzy-rosbag2-storage-mcap
+ ros-jazzy-nav2-msgs ros-jazzy-nav2-voxel-grid
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros2action ros-jazzy-rosbag2-storage-sqlite3 ros-jazzy-rosbag2-storage-mcap
+ ros-jazzy-nav2-msgs ros-jazzy-nav2-voxel-grid
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_84:
+ name: point-cloud-transport image-transport kinematics-interface-kdl rqt-plot
+ pcl-conversions
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-point-cloud-transport ros-jazzy-image-transport ros-jazzy-kinematics-interface-kdl
+ ros-jazzy-rqt-plot ros-jazzy-pcl-conversions
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-point-cloud-transport ros-jazzy-image-transport
+ ros-jazzy-kinematics-interface-kdl ros-jazzy-rqt-plot ros-jazzy-pcl-conversions
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_85:
+ name: rqt-console camera-calibration tf2-tools teleop-twist-joy ros2-controllers-test-nodes
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rqt-console ros-jazzy-camera-calibration ros-jazzy-tf2-tools
+ ros-jazzy-teleop-twist-joy ros-jazzy-ros2-controllers-test-nodes
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rqt-console ros-jazzy-camera-calibration ros-jazzy-tf2-tools
+ ros-jazzy-teleop-twist-joy ros-jazzy-ros2-controllers-test-nodes
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_86:
+ name: diagnostic-aggregator rqt-shell rqt-service-caller rqt-py-console rqt-publisher
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-diagnostic-aggregator ros-jazzy-rqt-shell ros-jazzy-rqt-service-caller
+ ros-jazzy-rqt-py-console ros-jazzy-rqt-publisher
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-diagnostic-aggregator ros-jazzy-rqt-shell ros-jazzy-rqt-service-caller
+ ros-jazzy-rqt-py-console ros-jazzy-rqt-publisher
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_87:
+ name: rqt-graph logging-demo image-tools demo-nodes-cpp-native demo-nodes-cpp
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rqt-graph ros-jazzy-logging-demo ros-jazzy-image-tools
+ ros-jazzy-demo-nodes-cpp-native ros-jazzy-demo-nodes-cpp
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rqt-graph ros-jazzy-logging-demo ros-jazzy-image-tools
+ ros-jazzy-demo-nodes-cpp-native ros-jazzy-demo-nodes-cpp
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_32_job_88:
+ name: composition
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ - stage_31_job_80
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-composition
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-composition
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_89:
+ name: joint-limits ros2run ros2param robot-state-publisher ros-testing
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-joint-limits ros-jazzy-ros2run ros-jazzy-ros2param ros-jazzy-robot-state-publisher
+ ros-jazzy-ros-testing
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-joint-limits ros-jazzy-ros2run ros-jazzy-ros2param
+ ros-jazzy-robot-state-publisher ros-jazzy-ros-testing
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_90:
+ name: ros2lifecycle ros2launch joint-state-publisher control-toolbox tf2-kdl
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros2lifecycle ros-jazzy-ros2launch ros-jazzy-joint-state-publisher
+ ros-jazzy-control-toolbox ros-jazzy-tf2-kdl
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros2lifecycle ros-jazzy-ros2launch ros-jazzy-joint-state-publisher
+ ros-jazzy-control-toolbox ros-jazzy-tf2-kdl
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_91:
+ name: tf2-geometry-msgs tf2-eigen rosbag2-storage-default-plugins rviz-common
+ tf2-sensor-msgs
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-tf2-geometry-msgs ros-jazzy-tf2-eigen ros-jazzy-rosbag2-storage-default-plugins
+ ros-jazzy-rviz-common ros-jazzy-tf2-sensor-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-tf2-geometry-msgs ros-jazzy-tf2-eigen ros-jazzy-rosbag2-storage-default-plugins
+ ros-jazzy-rviz-common ros-jazzy-tf2-sensor-msgs
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_92:
+ name: zstd-image-transport theora-image-transport compressed-image-transport compressed-depth-image-transport
+ ros-gz-image
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-zstd-image-transport ros-jazzy-theora-image-transport
+ ros-jazzy-compressed-image-transport ros-jazzy-compressed-depth-image-transport
+ ros-jazzy-ros-gz-image
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-zstd-image-transport ros-jazzy-theora-image-transport
+ ros-jazzy-compressed-image-transport ros-jazzy-compressed-depth-image-transport
+ ros-jazzy-ros-gz-image
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_93:
+ name: nav2-simple-commander rqt-topic rqt-image-view twist-mux image-view
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav2-simple-commander ros-jazzy-rqt-topic ros-jazzy-rqt-image-view
+ ros-jazzy-twist-mux ros-jazzy-image-view
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav2-simple-commander ros-jazzy-rqt-topic ros-jazzy-rqt-image-view
+ ros-jazzy-twist-mux ros-jazzy-image-view
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_94:
+ name: image-publisher tf2-bullet rqt-msg velodyne-pointcloud velodyne-driver
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-image-publisher ros-jazzy-tf2-bullet ros-jazzy-rqt-msg
+ ros-jazzy-velodyne-pointcloud ros-jazzy-velodyne-driver
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-image-publisher ros-jazzy-tf2-bullet ros-jazzy-rqt-msg
+ ros-jazzy-velodyne-pointcloud ros-jazzy-velodyne-driver
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_33_job_95:
+ name: rqt-reconfigure image-common self-test diagnostic-common-diagnostics apriltag-ros
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_81
+ - stage_32_job_82
+ - stage_32_job_83
+ - stage_32_job_84
+ - stage_32_job_85
+ - stage_32_job_86
+ - stage_32_job_87
+ - stage_32_job_88
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rqt-reconfigure ros-jazzy-image-common ros-jazzy-self-test
+ ros-jazzy-diagnostic-common-diagnostics ros-jazzy-apriltag-ros
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rqt-reconfigure ros-jazzy-image-common ros-jazzy-self-test
+ ros-jazzy-diagnostic-common-diagnostics ros-jazzy-apriltag-ros
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_34_job_96:
+ name: hardware-interface sros2 ros2component joint-state-publisher-gui nav2-util
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ - stage_33_job_95
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-hardware-interface ros-jazzy-sros2 ros-jazzy-ros2component
+ ros-jazzy-joint-state-publisher-gui ros-jazzy-nav2-util
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-hardware-interface ros-jazzy-sros2 ros-jazzy-ros2component
+ ros-jazzy-joint-state-publisher-gui ros-jazzy-nav2-util
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_34_job_97:
+ name: rosbag2-cpp rviz-visual-testing-framework interactive-markers warehouse-ros
+ robot-localization
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ - stage_33_job_95
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosbag2-cpp ros-jazzy-rviz-visual-testing-framework ros-jazzy-interactive-markers
+ ros-jazzy-warehouse-ros ros-jazzy-robot-localization
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosbag2-cpp ros-jazzy-rviz-visual-testing-framework
+ ros-jazzy-interactive-markers ros-jazzy-warehouse-ros ros-jazzy-robot-localization
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_34_job_98:
+ name: image-transport-plugins image-proc image-rotate pcl-ros rosapi
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ - stage_33_job_95
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-image-transport-plugins ros-jazzy-image-proc ros-jazzy-image-rotate
+ ros-jazzy-pcl-ros ros-jazzy-rosapi
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-image-transport-plugins ros-jazzy-image-proc ros-jazzy-image-rotate
+ ros-jazzy-pcl-ros ros-jazzy-rosapi
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_34_job_99:
+ name: geometry2 rqt-srv rqt-action velodyne laser-filters
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ - stage_33_job_95
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-geometry2 ros-jazzy-rqt-srv ros-jazzy-rqt-action ros-jazzy-velodyne
+ ros-jazzy-laser-filters
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-geometry2 ros-jazzy-rqt-srv ros-jazzy-rqt-action
+ ros-jazzy-velodyne ros-jazzy-laser-filters
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_34_job_100:
+ name: pendulum-control lifecycle dummy-robot-bringup sbg-driver diagnostics
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ - stage_33_job_95
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-pendulum-control ros-jazzy-lifecycle ros-jazzy-dummy-robot-bringup
+ ros-jazzy-sbg-driver ros-jazzy-diagnostics
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-pendulum-control ros-jazzy-lifecycle ros-jazzy-dummy-robot-bringup
+ ros-jazzy-sbg-driver ros-jazzy-diagnostics
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_35_job_101:
+ name: hardware-interface-testing controller-interface ros2cli-common-extensions
+ nav2-map-server nav2-lifecycle-manager
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ - stage_34_job_100
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-hardware-interface-testing ros-jazzy-controller-interface
+ ros-jazzy-ros2cli-common-extensions ros-jazzy-nav2-map-server ros-jazzy-nav2-lifecycle-manager
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-hardware-interface-testing ros-jazzy-controller-interface
+ ros-jazzy-ros2cli-common-extensions ros-jazzy-nav2-map-server ros-jazzy-nav2-lifecycle-manager
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_35_job_102:
+ name: rosbag2-compression nav2-behavior-tree rviz-default-plugins nav-2d-utils
+ opennav-docking-core
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ - stage_34_job_100
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosbag2-compression ros-jazzy-nav2-behavior-tree ros-jazzy-rviz-default-plugins
+ ros-jazzy-nav-2d-utils ros-jazzy-opennav-docking-core
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosbag2-compression ros-jazzy-nav2-behavior-tree
+ ros-jazzy-rviz-default-plugins ros-jazzy-nav-2d-utils ros-jazzy-opennav-docking-core
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_35_job_103:
+ name: nav2-velocity-smoother nav2-amcl stereo-image-proc depth-image-proc sros2-cmake
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ - stage_34_job_100
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav2-velocity-smoother ros-jazzy-nav2-amcl ros-jazzy-stereo-image-proc
+ ros-jazzy-depth-image-proc ros-jazzy-sros2-cmake
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav2-velocity-smoother ros-jazzy-nav2-amcl ros-jazzy-stereo-image-proc
+ ros-jazzy-depth-image-proc ros-jazzy-sros2-cmake
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_35_job_104:
+ name: warehouse-ros-sqlite transmission-interface rosbridge-server perception-pcl
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ - stage_34_job_100
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-warehouse-ros-sqlite ros-jazzy-transmission-interface
+ ros-jazzy-rosbridge-server ros-jazzy-perception-pcl
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-warehouse-ros-sqlite ros-jazzy-transmission-interface
+ ros-jazzy-rosbridge-server ros-jazzy-perception-pcl
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_36_job_105:
+ name: controller-manager nav2-costmap-2d rosbag2-compression-zstd rviz2 nav2-rviz-plugins
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_35_job_101
+ - stage_35_job_102
+ - stage_35_job_103
+ - stage_35_job_104
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-controller-manager ros-jazzy-nav2-costmap-2d ros-jazzy-rosbag2-compression-zstd
+ ros-jazzy-rviz2 ros-jazzy-nav2-rviz-plugins
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-controller-manager ros-jazzy-nav2-costmap-2d ros-jazzy-rosbag2-compression-zstd
+ ros-jazzy-rviz2 ros-jazzy-nav2-rviz-plugins
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_36_job_106:
+ name: slam-toolbox image-pipeline ros-core rosbridge-suite
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_35_job_101
+ - stage_35_job_102
+ - stage_35_job_103
+ - stage_35_job_104
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-slam-toolbox ros-jazzy-image-pipeline ros-jazzy-ros-core
+ ros-jazzy-rosbridge-suite
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-slam-toolbox ros-jazzy-image-pipeline ros-jazzy-ros-core
+ ros-jazzy-rosbridge-suite
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_37_job_107:
+ name: forward-command-controller gripper-controllers steering-controllers-library
+ joint-trajectory-controller nav2-core
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_105
+ - stage_36_job_106
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-forward-command-controller ros-jazzy-gripper-controllers
+ ros-jazzy-steering-controllers-library ros-jazzy-joint-trajectory-controller
+ ros-jazzy-nav2-core
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-forward-command-controller ros-jazzy-gripper-controllers
+ ros-jazzy-steering-controllers-library ros-jazzy-joint-trajectory-controller
+ ros-jazzy-nav2-core
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_37_job_108:
+ name: rosbag2-transport tricycle-controller range-sensor-broadcaster pose-broadcaster
+ pid-controller
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_105
+ - stage_36_job_106
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosbag2-transport ros-jazzy-tricycle-controller ros-jazzy-range-sensor-broadcaster
+ ros-jazzy-pose-broadcaster ros-jazzy-pid-controller
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosbag2-transport ros-jazzy-tricycle-controller
+ ros-jazzy-range-sensor-broadcaster ros-jazzy-pose-broadcaster ros-jazzy-pid-controller
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_37_job_109:
+ name: parallel-gripper-controller mecanum-drive-controller joint-state-broadcaster
+ imu-sensor-broadcaster gpio-controllers
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_105
+ - stage_36_job_106
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-parallel-gripper-controller ros-jazzy-mecanum-drive-controller
+ ros-jazzy-joint-state-broadcaster ros-jazzy-imu-sensor-broadcaster ros-jazzy-gpio-controllers
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-parallel-gripper-controller ros-jazzy-mecanum-drive-controller
+ ros-jazzy-joint-state-broadcaster ros-jazzy-imu-sensor-broadcaster ros-jazzy-gpio-controllers
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_37_job_110:
+ name: force-torque-sensor-broadcaster diff-drive-controller costmap-queue nav2-collision-monitor
+ ur-description
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_105
+ - stage_36_job_106
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-force-torque-sensor-broadcaster ros-jazzy-diff-drive-controller
+ ros-jazzy-costmap-queue ros-jazzy-nav2-collision-monitor ros-jazzy-ur-description
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-force-torque-sensor-broadcaster ros-jazzy-diff-drive-controller
+ ros-jazzy-costmap-queue ros-jazzy-nav2-collision-monitor ros-jazzy-ur-description
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_37_job_111:
+ name: ros-gz-sim-demos gz-ros2-control ros2controlcli rviz-visual-tools
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_105
+ - stage_36_job_106
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ros-gz-sim-demos ros-jazzy-gz-ros2-control ros-jazzy-ros2controlcli
+ ros-jazzy-rviz-visual-tools
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ros-gz-sim-demos ros-jazzy-gz-ros2-control ros-jazzy-ros2controlcli
+ ros-jazzy-rviz-visual-tools
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_38_job_112:
+ name: position-controllers velocity-controllers tricycle-steering-controller effort-controllers
+ bicycle-steering-controller
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ - stage_37_job_111
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-position-controllers ros-jazzy-velocity-controllers ros-jazzy-tricycle-steering-controller
+ ros-jazzy-effort-controllers ros-jazzy-bicycle-steering-controller
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-position-controllers ros-jazzy-velocity-controllers
+ ros-jazzy-tricycle-steering-controller ros-jazzy-effort-controllers ros-jazzy-bicycle-steering-controller
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_38_job_113:
+ name: admittance-controller ackermann-steering-controller nav2-controller dwb-core
+ rosbag2-py
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ - stage_37_job_111
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-admittance-controller ros-jazzy-ackermann-steering-controller
+ ros-jazzy-nav2-controller ros-jazzy-dwb-core ros-jazzy-rosbag2-py
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-admittance-controller ros-jazzy-ackermann-steering-controller
+ ros-jazzy-nav2-controller ros-jazzy-dwb-core ros-jazzy-rosbag2-py
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_38_job_114:
+ name: nav2-regulated-pure-pursuit-controller opennav-docking-bt nav2-waypoint-follower
+ nav2-theta-star-planner nav2-smoother
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ - stage_37_job_111
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav2-regulated-pure-pursuit-controller ros-jazzy-opennav-docking-bt
+ ros-jazzy-nav2-waypoint-follower ros-jazzy-nav2-theta-star-planner ros-jazzy-nav2-smoother
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav2-regulated-pure-pursuit-controller ros-jazzy-opennav-docking-bt
+ ros-jazzy-nav2-waypoint-follower ros-jazzy-nav2-theta-star-planner ros-jazzy-nav2-smoother
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_38_job_115:
+ name: nav2-smac-planner nav2-planner nav2-navfn-planner nav2-mppi-controller nav2-constrained-smoother
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ - stage_37_job_111
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav2-smac-planner ros-jazzy-nav2-planner ros-jazzy-nav2-navfn-planner
+ ros-jazzy-nav2-mppi-controller ros-jazzy-nav2-constrained-smoother
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav2-smac-planner ros-jazzy-nav2-planner ros-jazzy-nav2-navfn-planner
+ ros-jazzy-nav2-mppi-controller ros-jazzy-nav2-constrained-smoother
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_38_job_116:
+ name: nav2-bt-navigator nav2-behaviors ur-controllers ros-gz ros2-control
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ - stage_37_job_111
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-nav2-bt-navigator ros-jazzy-nav2-behaviors ros-jazzy-ur-controllers
+ ros-jazzy-ros-gz ros-jazzy-ros2-control
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-nav2-bt-navigator ros-jazzy-nav2-behaviors ros-jazzy-ur-controllers
+ ros-jazzy-ros-gz ros-jazzy-ros2-control
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_39_job_117:
+ name: moveit-resources-panda-moveit-config moveit-resources-fanuc-moveit-config
+ ros2-controllers nav2-graceful-controller dwb-plugins
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ - stage_38_job_116
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-resources-panda-moveit-config ros-jazzy-moveit-resources-fanuc-moveit-config
+ ros-jazzy-ros2-controllers ros-jazzy-nav2-graceful-controller ros-jazzy-dwb-plugins
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-resources-panda-moveit-config ros-jazzy-moveit-resources-fanuc-moveit-config
+ ros-jazzy-ros2-controllers ros-jazzy-nav2-graceful-controller ros-jazzy-dwb-plugins
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_39_job_118:
+ name: dwb-critics ros2bag nav2-rotation-shim-controller rqt-bag ur-robot-driver
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ - stage_38_job_116
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-dwb-critics ros-jazzy-ros2bag ros-jazzy-nav2-rotation-shim-controller
+ ros-jazzy-rqt-bag ros-jazzy-ur-robot-driver
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-dwb-critics ros-jazzy-ros2bag ros-jazzy-nav2-rotation-shim-controller
+ ros-jazzy-rqt-bag ros-jazzy-ur-robot-driver
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_39_job_119:
+ name: gz-ros2-control-demos
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ - stage_38_job_116
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-gz-ros2-control-demos
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-gz-ros2-control-demos
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_40_job_120:
+ name: moveit-core opennav-docking nav2-dwb-controller rosbag2-tests ur-calibration
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_39_job_117
+ - stage_39_job_118
+ - stage_39_job_119
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-core ros-jazzy-opennav-docking ros-jazzy-nav2-dwb-controller
+ ros-jazzy-rosbag2-tests ros-jazzy-ur-calibration
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-core ros-jazzy-opennav-docking ros-jazzy-nav2-dwb-controller
+ ros-jazzy-rosbag2-tests ros-jazzy-ur-calibration
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_41_job_121:
+ name: moveit-ros-occupancy-map-monitor moveit-simple-controller-manager moveit-resources-prbt-ikfast-manipulator-plugin
+ pilz-industrial-motion-planner-testutils chomp-motion-planner
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_40_job_120
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-ros-occupancy-map-monitor ros-jazzy-moveit-simple-controller-manager
+ ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin ros-jazzy-pilz-industrial-motion-planner-testutils
+ ros-jazzy-chomp-motion-planner
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-ros-occupancy-map-monitor ros-jazzy-moveit-simple-controller-manager
+ ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin ros-jazzy-pilz-industrial-motion-planner-testutils
+ ros-jazzy-chomp-motion-planner
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_41_job_122:
+ name: moveit-planners-stomp navigation2 rosbag2
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_40_job_120
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-planners-stomp ros-jazzy-navigation2 ros-jazzy-rosbag2
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-planners-stomp ros-jazzy-navigation2 ros-jazzy-rosbag2
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_42_job_123:
+ name: moveit-ros-planning moveit-planners-chomp rqt-bag-plugins ros-base moveit-plugins
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_41_job_121
+ - stage_41_job_122
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-ros-planning ros-jazzy-moveit-planners-chomp ros-jazzy-rqt-bag-plugins
+ ros-jazzy-ros-base ros-jazzy-moveit-plugins
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-ros-planning ros-jazzy-moveit-planners-chomp
+ ros-jazzy-rqt-bag-plugins ros-jazzy-ros-base ros-jazzy-moveit-plugins
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_42_job_124:
+ name: plotjuggler-ros
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_41_job_121
+ - stage_41_job_122
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-plotjuggler-ros
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-plotjuggler-ros
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_43_job_125:
+ name: moveit-kinematics moveit-ros-warehouse moveit-ros-robot-interaction moveit-planners-ompl
+ rqt-common-plugins
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_42_job_123
+ - stage_42_job_124
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-kinematics ros-jazzy-moveit-ros-warehouse ros-jazzy-moveit-ros-robot-interaction
+ ros-jazzy-moveit-planners-ompl ros-jazzy-rqt-common-plugins
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-kinematics ros-jazzy-moveit-ros-warehouse
+ ros-jazzy-moveit-ros-robot-interaction ros-jazzy-moveit-planners-ompl ros-jazzy-rqt-common-plugins
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_43_job_126:
+ name: simulation perception moveit-visual-tools
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_42_job_123
+ - stage_42_job_124
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-simulation ros-jazzy-perception ros-jazzy-moveit-visual-tools
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-simulation ros-jazzy-perception ros-jazzy-moveit-visual-tools
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_44_job_127:
+ name: moveit-ros-move-group moveit-ros-benchmarks desktop
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_43_job_125
+ - stage_43_job_126
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-ros-move-group ros-jazzy-moveit-ros-benchmarks
+ ros-jazzy-desktop
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-ros-move-group ros-jazzy-moveit-ros-benchmarks
+ ros-jazzy-desktop
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_45_job_128:
+ name: moveit-ros-planning-interface moveit-resources-prbt-moveit-config desktop-full
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_44_job_127
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-ros-planning-interface ros-jazzy-moveit-resources-prbt-moveit-config
+ ros-jazzy-desktop-full
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-ros-planning-interface ros-jazzy-moveit-resources-prbt-moveit-config
+ ros-jazzy-desktop-full
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_46_job_129:
+ name: moveit-ros-visualization moveit-resources-prbt-pg70-support
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_45_job_128
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-ros-visualization ros-jazzy-moveit-resources-prbt-pg70-support
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-ros-visualization ros-jazzy-moveit-resources-prbt-pg70-support
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_47_job_130:
+ name: moveit-setup-framework pilz-industrial-motion-planner moveit-servo moveit-ros
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_46_job_129
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-setup-framework ros-jazzy-pilz-industrial-motion-planner
+ ros-jazzy-moveit-servo ros-jazzy-moveit-ros
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-setup-framework ros-jazzy-pilz-industrial-motion-planner
+ ros-jazzy-moveit-servo ros-jazzy-moveit-ros
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_48_job_131:
+ name: moveit-setup-core-plugins moveit-setup-controllers moveit-setup-app-plugins
+ moveit-setup-srdf-plugins moveit-planners
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_47_job_130
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-setup-core-plugins ros-jazzy-moveit-setup-controllers
+ ros-jazzy-moveit-setup-app-plugins ros-jazzy-moveit-setup-srdf-plugins ros-jazzy-moveit-planners
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-setup-core-plugins ros-jazzy-moveit-setup-controllers
+ ros-jazzy-moveit-setup-app-plugins ros-jazzy-moveit-setup-srdf-plugins ros-jazzy-moveit-planners
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_49_job_132:
+ name: moveit-setup-assistant ur-moveit-config
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_48_job_131
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-moveit-setup-assistant ros-jazzy-ur-moveit-config
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-moveit-setup-assistant ros-jazzy-ur-moveit-config
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+ stage_50_job_133:
+ name: ur-simulation-gz ur moveit
+ runs-on: ubuntu-24.04-arm
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_49_job_132
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-ur-simulation-gz ros-jazzy-ur ros-jazzy-moveit
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-ur-simulation-gz ros-jazzy-ur ros-jazzy-moveit
+ DOCKER_IMAGE: condaforge/linux-anvil-aarch64
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_linux.sh
+name: build_linux
+on:
+ push:
+ branches:
+ - buildbranch_linux_aarch64
diff --git a/activate.bat b/activate.bat
new file mode 100755
index 00000000..48ff1d71
--- /dev/null
+++ b/activate.bat
@@ -0,0 +1,15 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+@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/activate.ps1 b/activate.ps1
new file mode 100755
index 00000000..137e67ae
--- /dev/null
+++ b/activate.ps1
@@ -0,0 +1,16 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+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/activate.sh b/activate.sh
new file mode 100755
index 00000000..4a35f587
--- /dev/null
+++ b/activate.sh
@@ -0,0 +1,26 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+# if [ -z "${CONDA_PREFIX}" ]; then
+# exit 0;
+# fi
+
+# Not sure if this is necessary on UNIX?
+# export QT_PLUGIN_PATH=$CONDA_PREFIX\plugins
+
+if [ "$CONDA_BUILD" = "1" -a "$target_platform" != "$build_platform" ]; then
+ # ignore sourcing
+ echo "Not activating ROS when cross-compiling";
+else
+ source $CONDA_PREFIX/setup.sh
+fi
+
+case "$OSTYPE" in
+ darwin*) export ROS_OS_OVERRIDE="conda:osx";;
+ linux*) export ROS_OS_OVERRIDE="conda:linux";;
+esac
+
+export ROS_ETC_DIR=$CONDA_PREFIX/etc/ros
+export AMENT_PREFIX_PATH=$CONDA_PREFIX
+
+# Looks unnecessary for UNIX
+# unset PYTHONHOME=
diff --git a/bld_ament_cmake.bat b/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/bld_ament_python.bat b/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/bld_catkin.bat b/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/bld_catkin_merge.bat b/bld_catkin_merge.bat
new file mode 100755
index 00000000..0c8cef7c
--- /dev/null
+++ b/bld_catkin_merge.bat
@@ -0,0 +1,34 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set CATKIN_MAKE_ISOLATED=src\ros-jazzy-catkin\bin\catkin_make_isolated
+set CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH:\=/%
+
+%PYTHON% %CATKIN_MAKE_ISOLATED% ^
+ --install-space %LIBRARY_PREFIX% ^
+ --use-ninja ^
+ --install ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DCATKIN_SKIP_TESTING=ON
+if errorlevel 1 exit 1
+
+:: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+:: This will allow them to be run on environment activation.
+for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+)
diff --git a/bld_colcon_merge.bat b/bld_colcon_merge.bat
new file mode 100755
index 00000000..b795d97d
--- /dev/null
+++ b/bld_colcon_merge.bat
@@ -0,0 +1,38 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+colcon build ^
+ --event-handlers console_cohesion+ ^
+ --merge-install ^
+ --install-base %LIBRARY_PREFIX% ^
+ --cmake-args ^
+ --compile-no-warning-as-error ^
+ -G Ninja ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DBUILD_TESTING=OFF ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ -DPYTHON_EXECUTABLE=%PYTHON%
+if errorlevel 1 exit 1
+
+:: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+:: This will allow them to be run on environment activation.
+for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+)
diff --git a/build_ament_cmake.sh b/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/build_ament_python.sh b/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/build_catkin.sh b/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/buildorder.txt b/buildorder.txt
new file mode 100644
index 00000000..6ae10ba4
--- /dev/null
+++ b/buildorder.txt
@@ -0,0 +1,573 @@
+ros2-distro-mutex
+ros-jazzy-ament-package
+ros-jazzy-ament-cmake-core
+ros-jazzy-ros-workspace
+ros-jazzy-ros-environment
+ros-jazzy-ament-lint
+ros-jazzy-ament-cmake-python
+ros-jazzy-gtest-vendor
+ros-jazzy-ament-cmake-libraries
+ros-jazzy-ament-cmake-include-directories
+ros-jazzy-ament-cmake-export-libraries
+ros-jazzy-ament-cmake-version
+ros-jazzy-ament-cmake-export-link-flags
+ros-jazzy-ament-cmake-export-include-directories
+ros-jazzy-ament-cmake-export-definitions
+ros-jazzy-ament-pycodestyle
+ros-jazzy-osrf-pycommon
+ros-jazzy-google-benchmark-vendor
+ros-jazzy-osrf-testing-tools-cpp
+ros-jazzy-test-interface-files
+ros-jazzy-iceoryx-hoofs
+ros-jazzy-sdformat-test-files
+ros-jazzy-ruckig
+ros-jazzy-ros-industrial-cmake-boilerplate
+ros-jazzy-ompl
+ros-jazzy-gtsam
+ros-jazzy-apriltag
+ros-jazzy-ament-flake8
+ros-jazzy-ament-cmake-test
+ros-jazzy-ament-cmake-export-dependencies
+ros-jazzy-ament-cmake-target-dependencies
+ros-jazzy-ament-cmake-export-targets
+ros-jazzy-ament-cmake-export-interfaces
+ros-jazzy-gmock-vendor
+ros-jazzy-iceoryx-posh
+ros-jazzy-backward-ros
+ros-jazzy-stomp
+ros-jazzy-ament-pep257
+ros-jazzy-ament-cmake-gtest
+ros-jazzy-ament-cmake-vendor-package
+ros-jazzy-ament-mypy
+ros-jazzy-ament-lint-auto
+ros-jazzy-ament-cmake-pytest
+ros-jazzy-ament-cmake-google-benchmark
+ros-jazzy-iceoryx-binding-c
+ros-jazzy-ament-cmake-catch2
+ros-jazzy-ament-copyright
+ros-jazzy-ament-cmake-gen-version-h
+ros-jazzy-ament-cmake-gmock
+ros-jazzy-cyclonedds
+ros-jazzy-ament-lint-cmake
+ros-jazzy-ament-cmake
+ros-jazzy-ament-xmllint
+ros-jazzy-ament-cpplint
+ros-jazzy-ament-cppcheck
+ros-jazzy-ament-index-python
+ros-jazzy-domain-coordinator
+ros-jazzy-generate-parameter-library-py
+ros-jazzy-ament-clang-format
+ros-jazzy-ament-cmake-lint-cmake
+ros-jazzy-uncrustify-vendor
+ros-jazzy-launch
+ros-jazzy-rosidl-cli
+ros-jazzy-fastcdr
+ros-jazzy-rpyutils
+ros-jazzy-tl-expected
+ros-jazzy-tcb-span
+ros-jazzy-pybind11-vendor
+ros-jazzy-tinyxml2-vendor
+ros-jazzy-ros2-control-test-assets
+ros-jazzy-yaml-cpp-vendor
+ros-jazzy-zstd-vendor
+ros-jazzy-liblz4-vendor
+ros-jazzy-libcurl-vendor
+ros-jazzy-sqlite3-vendor
+ros-jazzy-xacro
+ros-jazzy-moveit-resources-panda-description
+ros-jazzy-random-numbers
+ros-jazzy-eigen-stl-containers
+ros-jazzy-moveit-resources-pr2-description
+ros-jazzy-moveit-common
+ros-jazzy-angles
+ros-jazzy-moveit-resources-fanuc-description
+ros-jazzy-ament-cmake-auto
+ros-jazzy-sdl2-vendor
+ros-jazzy-ur-client-library
+ros-jazzy-zenoh-cpp-vendor
+ros-jazzy-ament-cmake-copyright
+ros-jazzy-ament-uncrustify
+ros-jazzy-launch-yaml
+ros-jazzy-launch-xml
+ros-jazzy-mcap-vendor
+ros-jazzy-moveit-resources-prbt-support
+ros-jazzy-ament-cmake-xmllint
+ros-jazzy-ament-cmake-uncrustify
+ros-jazzy-ament-cmake-pep257
+ros-jazzy-ament-cmake-flake8
+ros-jazzy-ament-cmake-cpplint
+ros-jazzy-ament-cmake-cppcheck
+ros-jazzy-launch-testing
+ros-jazzy-eigen3-cmake-module
+ros-jazzy-ament-cmake-clang-format
+ros-jazzy-ament-cmake-mypy
+ros-jazzy-ament-lint-common
+ros-jazzy-foonathan-memory-vendor
+ros-jazzy-gz-cmake-vendor
+ros-jazzy-rviz-ogre-vendor
+ros-jazzy-rviz-assimp-vendor
+ros-jazzy-gz-ogre-next-vendor
+ros-jazzy-gz-dartsim-vendor
+ros-jazzy-launch-pytest
+ros-jazzy-python-cmake-module
+ros-jazzy-rosidl-adapter
+ros-jazzy-performance-test-fixture
+ros-jazzy-mimick-vendor
+ros-jazzy-ament-cmake-ros
+ros-jazzy-rosidl-typesupport-interface
+ros-jazzy-fastrtps-cmake-module
+ros-jazzy-fastrtps
+ros-jazzy-rti-connext-dds-cmake-module
+ros-jazzy-rmw-implementation-cmake
+ros-jazzy-ament-index-cpp
+ros-jazzy-spdlog-vendor
+ros-jazzy-gz-utils-vendor
+ros-jazzy-gz-tools-vendor
+ros-jazzy-orocos-kdl-vendor
+ros-jazzy-python-qt-binding
+ros-jazzy-smclib
+ros-jazzy-osqp-vendor
+ros-jazzy-tango-icons-vendor
+ros-jazzy-keyboard-handler
+ros-jazzy-tlsf
+ros-jazzy-rttest
+ros-jazzy-launch-testing-ament-cmake
+ros-jazzy-rosidl-parser
+ros-jazzy-tracetools
+ros-jazzy-libyaml-vendor
+ros-jazzy-console-bridge-vendor
+ros-jazzy-urdf-parser-plugin
+ros-jazzy-gz-math-vendor
+ros-jazzy-python-orocos-kdl-vendor
+ros-jazzy-resource-retriever
+ros-jazzy-gz-plugin-vendor
+ros-jazzy-qt-gui
+ros-jazzy-qt-gui-py-common
+ros-jazzy-tracetools-image-pipeline
+ros-jazzy-qt-dotgraph
+ros-jazzy-rcutils
+ros-jazzy-rosidl-pycommon
+ros-jazzy-rosidl-generator-type-description
+ros-jazzy-sdformat-vendor
+ros-jazzy-rviz-rendering
+ros-jazzy-gz-msgs-vendor
+ros-jazzy-gz-common-vendor
+ros-jazzy-rosidl-runtime-c
+ros-jazzy-rosidl-cmake
+ros-jazzy-rcpputils
+ros-jazzy-rviz-rendering-tests
+ros-jazzy-gz-transport-vendor
+ros-jazzy-gz-rendering-vendor
+ros-jazzy-gz-physics-vendor
+ros-jazzy-gz-fuel-tools-vendor
+ros-jazzy-rosidl-runtime-cpp
+ros-jazzy-rosidl-generator-c
+ros-jazzy-rosidl-dynamic-typesupport
+ros-jazzy-rcl-logging-interface
+ros-jazzy-class-loader
+ros-jazzy-gz-sensors-vendor
+ros-jazzy-gz-gui-vendor
+ros-jazzy-rosidl-generator-cpp
+ros-jazzy-rmw
+ros-jazzy-rosidl-typesupport-introspection-c
+ros-jazzy-rosidl-dynamic-typesupport-fastrtps
+ros-jazzy-rcl-logging-spdlog
+ros-jazzy-pluginlib
+ros-jazzy-gz-sim-vendor
+ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ros-jazzy-rosidl-typesupport-introspection-cpp
+ros-jazzy-rcl-yaml-param-parser
+ros-jazzy-urdf
+ros-jazzy-qt-gui-cpp
+ros-jazzy-rosidl-typesupport-fastrtps-c
+ros-jazzy-sdformat-urdf
+ros-jazzy-kdl-parser
+ros-jazzy-srdfdom
+ros-jazzy-rosidl-typesupport-c
+ros-jazzy-rmw-zenoh-cpp
+ros-jazzy-rosidl-typesupport-cpp
+ros-jazzy-rosidl-generator-py
+ros-jazzy-rosidl-core-runtime
+ros-jazzy-rosidl-core-generators
+ros-jazzy-builtin-interfaces
+ros-jazzy-unique-identifier-msgs
+ros-jazzy-service-msgs
+ros-jazzy-action-msgs
+ros-jazzy-type-description-interfaces
+ros-jazzy-rosidl-default-runtime
+ros-jazzy-rosidl-default-generators
+ros-jazzy-rmw-dds-common
+ros-jazzy-test-msgs
+ros-jazzy-rcl-interfaces
+ros-jazzy-std-msgs
+ros-jazzy-statistics-msgs
+ros-jazzy-rosgraph-msgs
+ros-jazzy-lifecycle-msgs
+ros-jazzy-std-srvs
+ros-jazzy-example-interfaces
+ros-jazzy-ros2cli-test-interfaces
+ros-jazzy-topic-tools-interfaces
+ros-jazzy-rosbag2-test-msgdefs
+ros-jazzy-rosbag2-interfaces
+ros-jazzy-twist-mux-msgs
+ros-jazzy-ur-dashboard-msgs
+ros-jazzy-rosbridge-msgs
+ros-jazzy-pendulum-msgs
+ros-jazzy-action-tutorials-interfaces
+ros-jazzy-rmw-fastrtps-shared-cpp
+ros-jazzy-rmw-connextdds-common
+ros-jazzy-rmw-cyclonedds-cpp
+ros-jazzy-composition-interfaces
+ros-jazzy-geometry-msgs
+ros-jazzy-rosidl-runtime-py
+ros-jazzy-controller-manager-msgs
+ros-jazzy-actionlib-msgs
+ros-jazzy-bond
+ros-jazzy-ackermann-msgs
+ros-jazzy-gps-msgs
+ros-jazzy-actuator-msgs
+ros-jazzy-velodyne-msgs
+ros-jazzy-rosapi-msgs
+ros-jazzy-rtcm-msgs
+ros-jazzy-nmea-msgs
+ros-jazzy-apriltag-msgs
+ros-jazzy-rmw-fastrtps-dynamic-cpp
+ros-jazzy-rmw-fastrtps-cpp
+ros-jazzy-rmw-connextdds
+ros-jazzy-sensor-msgs
+ros-jazzy-trajectory-msgs
+ros-jazzy-tf2-msgs
+ros-jazzy-tf2
+ros-jazzy-diagnostic-msgs
+ros-jazzy-shape-msgs
+ros-jazzy-octomap-msgs
+ros-jazzy-nav-msgs
+ros-jazzy-geographic-msgs
+ros-jazzy-nav-2d-msgs
+ros-jazzy-vision-msgs
+ros-jazzy-ros-gz-interfaces
+ros-jazzy-ur-msgs
+ros-jazzy-graph-msgs
+ros-jazzy-rmw-implementation
+ros-jazzy-control-msgs
+ros-jazzy-object-recognition-msgs
+ros-jazzy-visualization-msgs
+ros-jazzy-stereo-msgs
+ros-jazzy-sensor-msgs-py
+ros-jazzy-map-msgs
+ros-jazzy-tf2-eigen-kdl
+ros-jazzy-dwb-msgs
+ros-jazzy-image-geometry
+ros-jazzy-pcl-msgs
+ros-jazzy-rcl
+ros-jazzy-moveit-msgs
+ros-jazzy-common-interfaces
+ros-jazzy-libstatistics-collector
+ros-jazzy-rcl-lifecycle
+ros-jazzy-rcl-action
+ros-jazzy-rclcpp
+ros-jazzy-rclpy
+ros-jazzy-rsl
+ros-jazzy-rclcpp-lifecycle
+ros-jazzy-rclcpp-action
+ros-jazzy-launch-ros
+ros-jazzy-ros2cli
+ros-jazzy-rclcpp-components
+ros-jazzy-filters
+ros-jazzy-rosbag2-test-common
+ros-jazzy-tf2-py
+ros-jazzy-geometric-shapes
+ros-jazzy-launch-param-builder
+ros-jazzy-cv-bridge
+ros-jazzy-laser-geometry
+ros-jazzy-behaviortree-cpp
+ros-jazzy-rqt-gui
+ros-jazzy-rqt-py-common
+ros-jazzy-rqt-gui-cpp
+ros-jazzy-camera-calibration-parsers
+ros-jazzy-rosbridge-test-msgs
+ros-jazzy-teleop-twist-keyboard
+ros-jazzy-tlsf-cpp
+ros-jazzy-dummy-sensors
+ros-jazzy-dummy-map-server
+ros-jazzy-demo-nodes-py
+ros-jazzy-quality-of-service-demo-py
+ros-jazzy-intra-process-demo
+ros-jazzy-examples-rclpy-minimal-subscriber
+ros-jazzy-examples-rclpy-minimal-service
+ros-jazzy-examples-rclpy-minimal-publisher
+ros-jazzy-examples-rclpy-minimal-client
+ros-jazzy-examples-rclpy-minimal-action-server
+ros-jazzy-examples-rclpy-minimal-action-client
+ros-jazzy-examples-rclpy-executors
+ros-jazzy-examples-rclcpp-multithreaded-executor
+ros-jazzy-examples-rclcpp-minimal-timer
+ros-jazzy-examples-rclcpp-minimal-service
+ros-jazzy-examples-rclcpp-minimal-publisher
+ros-jazzy-examples-rclcpp-minimal-client
+ros-jazzy-action-tutorials-py
+ros-jazzy-plotjuggler
+ros-jazzy-parameter-traits
+ros-jazzy-realtime-tools
+ros-jazzy-launch-testing-ros
+ros-jazzy-message-filters
+ros-jazzy-ros2lifecycle-test-fixtures
+ros-jazzy-ros2multicast
+ros-jazzy-rosbag2-storage
+ros-jazzy-tf2-ros-py
+ros-jazzy-topic-tools
+ros-jazzy-nav2-common
+ros-jazzy-bondcpp
+ros-jazzy-moveit-configs-utils
+ros-jazzy-kinematics-interface
+ros-jazzy-ros-gz-bridge
+ros-jazzy-rqt-gui-py
+ros-jazzy-ros-gz-sim
+ros-jazzy-camera-info-manager
+ros-jazzy-joy
+ros-jazzy-rosbridge-library
+ros-jazzy-velodyne-laserscan
+ros-jazzy-vision-opencv
+ros-jazzy-turtlesim
+ros-jazzy-topic-monitor
+ros-jazzy-quality-of-service-demo-cpp
+ros-jazzy-examples-rclcpp-minimal-subscriber
+ros-jazzy-examples-rclcpp-minimal-composition
+ros-jazzy-examples-rclcpp-minimal-action-server
+ros-jazzy-examples-rclcpp-minimal-action-client
+ros-jazzy-depthimage-to-laserscan
+ros-jazzy-action-tutorials-cpp
+ros-jazzy-flex-sync
+ros-jazzy-generate-parameter-library
+ros-jazzy-ros2pkg
+ros-jazzy-ros2service
+ros-jazzy-ros2node
+ros-jazzy-tf2-ros
+ros-jazzy-ros2test
+ros-jazzy-diagnostic-updater
+ros-jazzy-ros2topic
+ros-jazzy-ros2interface
+ros-jazzy-ros2doctor
+ros-jazzy-ros2action
+ros-jazzy-rosbag2-storage-sqlite3
+ros-jazzy-rosbag2-storage-mcap
+ros-jazzy-nav2-msgs
+ros-jazzy-nav2-voxel-grid
+ros-jazzy-point-cloud-transport
+ros-jazzy-image-transport
+ros-jazzy-kinematics-interface-kdl
+ros-jazzy-rqt-plot
+ros-jazzy-pcl-conversions
+ros-jazzy-rqt-console
+ros-jazzy-camera-calibration
+ros-jazzy-tf2-tools
+ros-jazzy-teleop-twist-joy
+ros-jazzy-ros2-controllers-test-nodes
+ros-jazzy-diagnostic-aggregator
+ros-jazzy-rqt-shell
+ros-jazzy-rqt-service-caller
+ros-jazzy-rqt-py-console
+ros-jazzy-rqt-publisher
+ros-jazzy-rqt-graph
+ros-jazzy-logging-demo
+ros-jazzy-image-tools
+ros-jazzy-demo-nodes-cpp-native
+ros-jazzy-demo-nodes-cpp
+ros-jazzy-composition
+ros-jazzy-joint-limits
+ros-jazzy-ros2run
+ros-jazzy-ros2param
+ros-jazzy-robot-state-publisher
+ros-jazzy-ros-testing
+ros-jazzy-ros2lifecycle
+ros-jazzy-ros2launch
+ros-jazzy-joint-state-publisher
+ros-jazzy-control-toolbox
+ros-jazzy-tf2-kdl
+ros-jazzy-tf2-geometry-msgs
+ros-jazzy-tf2-eigen
+ros-jazzy-rosbag2-storage-default-plugins
+ros-jazzy-rviz-common
+ros-jazzy-tf2-sensor-msgs
+ros-jazzy-zstd-image-transport
+ros-jazzy-theora-image-transport
+ros-jazzy-compressed-image-transport
+ros-jazzy-compressed-depth-image-transport
+ros-jazzy-ros-gz-image
+ros-jazzy-nav2-simple-commander
+ros-jazzy-rqt-topic
+ros-jazzy-rqt-image-view
+ros-jazzy-twist-mux
+ros-jazzy-image-view
+ros-jazzy-image-publisher
+ros-jazzy-tf2-bullet
+ros-jazzy-rqt-msg
+ros-jazzy-velodyne-pointcloud
+ros-jazzy-velodyne-driver
+ros-jazzy-rqt-reconfigure
+ros-jazzy-image-common
+ros-jazzy-self-test
+ros-jazzy-diagnostic-common-diagnostics
+ros-jazzy-apriltag-ros
+ros-jazzy-hardware-interface
+ros-jazzy-sros2
+ros-jazzy-ros2component
+ros-jazzy-joint-state-publisher-gui
+ros-jazzy-nav2-util
+ros-jazzy-rosbag2-cpp
+ros-jazzy-rviz-visual-testing-framework
+ros-jazzy-interactive-markers
+ros-jazzy-warehouse-ros
+ros-jazzy-robot-localization
+ros-jazzy-image-transport-plugins
+ros-jazzy-image-proc
+ros-jazzy-image-rotate
+ros-jazzy-pcl-ros
+ros-jazzy-rosapi
+ros-jazzy-geometry2
+ros-jazzy-rqt-srv
+ros-jazzy-rqt-action
+ros-jazzy-velodyne
+ros-jazzy-laser-filters
+ros-jazzy-pendulum-control
+ros-jazzy-lifecycle
+ros-jazzy-dummy-robot-bringup
+ros-jazzy-sbg-driver
+ros-jazzy-diagnostics
+ros-jazzy-hardware-interface-testing
+ros-jazzy-controller-interface
+ros-jazzy-ros2cli-common-extensions
+ros-jazzy-nav2-map-server
+ros-jazzy-nav2-lifecycle-manager
+ros-jazzy-rosbag2-compression
+ros-jazzy-nav2-behavior-tree
+ros-jazzy-rviz-default-plugins
+ros-jazzy-nav-2d-utils
+ros-jazzy-opennav-docking-core
+ros-jazzy-nav2-velocity-smoother
+ros-jazzy-nav2-amcl
+ros-jazzy-stereo-image-proc
+ros-jazzy-depth-image-proc
+ros-jazzy-sros2-cmake
+ros-jazzy-warehouse-ros-sqlite
+ros-jazzy-transmission-interface
+ros-jazzy-rosbridge-server
+ros-jazzy-perception-pcl
+ros-jazzy-controller-manager
+ros-jazzy-nav2-costmap-2d
+ros-jazzy-rosbag2-compression-zstd
+ros-jazzy-rviz2
+ros-jazzy-nav2-rviz-plugins
+ros-jazzy-slam-toolbox
+ros-jazzy-image-pipeline
+ros-jazzy-ros-core
+ros-jazzy-rosbridge-suite
+ros-jazzy-forward-command-controller
+ros-jazzy-gripper-controllers
+ros-jazzy-steering-controllers-library
+ros-jazzy-joint-trajectory-controller
+ros-jazzy-nav2-core
+ros-jazzy-rosbag2-transport
+ros-jazzy-tricycle-controller
+ros-jazzy-range-sensor-broadcaster
+ros-jazzy-pose-broadcaster
+ros-jazzy-pid-controller
+ros-jazzy-parallel-gripper-controller
+ros-jazzy-mecanum-drive-controller
+ros-jazzy-joint-state-broadcaster
+ros-jazzy-imu-sensor-broadcaster
+ros-jazzy-gpio-controllers
+ros-jazzy-force-torque-sensor-broadcaster
+ros-jazzy-diff-drive-controller
+ros-jazzy-costmap-queue
+ros-jazzy-nav2-collision-monitor
+ros-jazzy-ur-description
+ros-jazzy-ros-gz-sim-demos
+ros-jazzy-gz-ros2-control
+ros-jazzy-ros2controlcli
+ros-jazzy-rviz-visual-tools
+ros-jazzy-position-controllers
+ros-jazzy-velocity-controllers
+ros-jazzy-tricycle-steering-controller
+ros-jazzy-effort-controllers
+ros-jazzy-bicycle-steering-controller
+ros-jazzy-admittance-controller
+ros-jazzy-ackermann-steering-controller
+ros-jazzy-nav2-controller
+ros-jazzy-dwb-core
+ros-jazzy-rosbag2-py
+ros-jazzy-nav2-regulated-pure-pursuit-controller
+ros-jazzy-opennav-docking-bt
+ros-jazzy-nav2-waypoint-follower
+ros-jazzy-nav2-theta-star-planner
+ros-jazzy-nav2-smoother
+ros-jazzy-nav2-smac-planner
+ros-jazzy-nav2-planner
+ros-jazzy-nav2-navfn-planner
+ros-jazzy-nav2-mppi-controller
+ros-jazzy-nav2-constrained-smoother
+ros-jazzy-nav2-bt-navigator
+ros-jazzy-nav2-behaviors
+ros-jazzy-ur-controllers
+ros-jazzy-ros-gz
+ros-jazzy-ros2-control
+ros-jazzy-moveit-resources-panda-moveit-config
+ros-jazzy-moveit-resources-fanuc-moveit-config
+ros-jazzy-ros2-controllers
+ros-jazzy-nav2-graceful-controller
+ros-jazzy-dwb-plugins
+ros-jazzy-dwb-critics
+ros-jazzy-ros2bag
+ros-jazzy-nav2-rotation-shim-controller
+ros-jazzy-rqt-bag
+ros-jazzy-ur-robot-driver
+ros-jazzy-gz-ros2-control-demos
+ros-jazzy-moveit-core
+ros-jazzy-opennav-docking
+ros-jazzy-nav2-dwb-controller
+ros-jazzy-rosbag2-tests
+ros-jazzy-ur-calibration
+ros-jazzy-moveit-ros-occupancy-map-monitor
+ros-jazzy-moveit-simple-controller-manager
+ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin
+ros-jazzy-pilz-industrial-motion-planner-testutils
+ros-jazzy-chomp-motion-planner
+ros-jazzy-moveit-planners-stomp
+ros-jazzy-navigation2
+ros-jazzy-rosbag2
+ros-jazzy-moveit-ros-planning
+ros-jazzy-moveit-planners-chomp
+ros-jazzy-rqt-bag-plugins
+ros-jazzy-ros-base
+ros-jazzy-moveit-plugins
+ros-jazzy-plotjuggler-ros
+ros-jazzy-moveit-kinematics
+ros-jazzy-moveit-ros-warehouse
+ros-jazzy-moveit-ros-robot-interaction
+ros-jazzy-moveit-planners-ompl
+ros-jazzy-rqt-common-plugins
+ros-jazzy-simulation
+ros-jazzy-perception
+ros-jazzy-moveit-visual-tools
+ros-jazzy-moveit-ros-move-group
+ros-jazzy-moveit-ros-benchmarks
+ros-jazzy-desktop
+ros-jazzy-moveit-ros-planning-interface
+ros-jazzy-moveit-resources-prbt-moveit-config
+ros-jazzy-desktop-full
+ros-jazzy-moveit-ros-visualization
+ros-jazzy-moveit-resources-prbt-pg70-support
+ros-jazzy-moveit-setup-framework
+ros-jazzy-pilz-industrial-motion-planner
+ros-jazzy-moveit-servo
+ros-jazzy-moveit-ros
+ros-jazzy-moveit-setup-core-plugins
+ros-jazzy-moveit-setup-controllers
+ros-jazzy-moveit-setup-app-plugins
+ros-jazzy-moveit-setup-srdf-plugins
+ros-jazzy-moveit-planners
+ros-jazzy-moveit-setup-assistant
+ros-jazzy-ur-moveit-config
+ros-jazzy-ur-simulation-gz
+ros-jazzy-ur
+ros-jazzy-moveit
\ No newline at end of file
diff --git a/deactivate.bat b/deactivate.bat
new file mode 100755
index 00000000..6de79cca
--- /dev/null
+++ b/deactivate.bat
@@ -0,0 +1,18 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+@if not defined CONDA_PREFIX goto:eof
+
+@set ROS_OS_OVERRIDE=
+@set ROS_DISTRO=
+@set ROS_ETC_DIR=
+@set ROS_PACKAGE_PATH=
+@set ROS_PYTHON_VERSION=
+@set ROS_VERSION=
+@set PYTHONHOME=
+@set PYTHONPATH=
+@set CMAKE_PREFIX_PATH=
+@set AMENT_PREFIX_PATH=
+@set COLCON_PREFIX_PATH=
+@set QT_PLUGIN_PATH=
+@set ROS_LOCALHOST_ONLY=
+@set ament_python_executable=
diff --git a/deactivate.ps1 b/deactivate.ps1
new file mode 100755
index 00000000..9db51e1c
--- /dev/null
+++ b/deactivate.ps1
@@ -0,0 +1,18 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+if ($null -eq ${env:CONDA_PREFIX}) { Exit }
+
+$Env:ROS_OS_OVERRIDE=''
+$Env:ROS_DISTRO=''
+$Env:ROS_ETC_DIR=''
+$Env:ROS_PACKAGE_PATH=''
+$Env:ROS_PYTHON_VERSION=''
+$Env:ROS_VERSION=''
+$Env:PYTHONHOME=''
+$Env:PYTHONPATH=''
+$Env:CMAKE_PREFIX_PATH=''
+$Env:AMENT_PREFIX_PATH=''
+$Env:COLCON_PREFIX_PATH=''
+$Env:QT_PLUGIN_PATH=''
+$Env:ROS_LOCALHOST_ONLY=''
+$Env:ament_python_executable=''
diff --git a/deactivate.sh b/deactivate.sh
new file mode 100755
index 00000000..87d4d835
--- /dev/null
+++ b/deactivate.sh
@@ -0,0 +1,21 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+if [ -z "${CONDA_PREFIX}" ]; then
+ exit 0
+fi
+
+unset ROS_DISTRO
+unset ROS_ETC_DIR
+unset ROS_PACKAGE_PATH
+unset ROS_PYTHON_VERSION
+unset CMAKE_PREFIX_PATH
+unset AMENT_PREFIX_PATH
+unset COLCON_PREFIX_PATH
+unset ROS_VERSION
+unset ROS_OS_OVERRIDE
+# unset PYTHONPATH
+# unset PYTHONHOME
+# unset QT_PLUGIN_PATH
+unset ROS_LOCALHOST_ONLY
+unset ament_python_executable
+unset RMW_IMPLEMENTATION
diff --git a/recipes/ros-jazzy-ackermann-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-ackermann-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ackermann-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-ackermann-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ackermann-msgs/recipe.yaml b/recipes/ros-jazzy-ackermann-msgs/recipe.yaml
new file mode 100644
index 00000000..eeb59580
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ackermann-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/ackermann_msgs-release.git
+ tag: release/jazzy/ackermann_msgs/2.0.2-6
+ target_directory: ros-jazzy-ackermann-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ackermann-steering-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-ackermann-steering-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-steering-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ackermann-steering-controller/build_ament_cmake.sh b/recipes/ros-jazzy-ackermann-steering-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-steering-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ackermann-steering-controller/recipe.yaml b/recipes/ros-jazzy-ackermann-steering-controller/recipe.yaml
new file mode 100644
index 00000000..9b68f240
--- /dev/null
+++ b/recipes/ros-jazzy-ackermann-steering-controller/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ackermann-steering-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/ackermann_steering_controller/4.20.0-1
+ target_directory: ros-jazzy-ackermann-steering-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-action-msgs/recipe.yaml b/recipes/ros-jazzy-action-msgs/recipe.yaml
new file mode 100644
index 00000000..085c4564
--- /dev/null
+++ b/recipes/ros-jazzy-action-msgs/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-action-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/action_msgs/2.0.2-2
+ target_directory: ros-jazzy-action-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros-jazzy-service-msgs
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros-jazzy-service-msgs
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-action-tutorials-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-action-tutorials-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-action-tutorials-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-action-tutorials-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-action-tutorials-cpp/recipe.yaml b/recipes/ros-jazzy-action-tutorials-cpp/recipe.yaml
new file mode 100644
index 00000000..8b14ea46
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-cpp/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-action-tutorials-cpp
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/action_tutorials_cpp/0.33.5-1
+ target_directory: ros-jazzy-action-tutorials-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-tutorials-interfaces
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-tutorials-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-action-tutorials-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-action-tutorials-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-action-tutorials-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-action-tutorials-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-action-tutorials-interfaces/recipe.yaml b/recipes/ros-jazzy-action-tutorials-interfaces/recipe.yaml
new file mode 100644
index 00000000..d915d2c7
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-interfaces/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-action-tutorials-interfaces
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/action_tutorials_interfaces/0.33.5-1
+ target_directory: ros-jazzy-action-tutorials-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-action-tutorials-py/bld_ament_python.bat b/recipes/ros-jazzy-action-tutorials-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-action-tutorials-py/build_ament_python.sh b/recipes/ros-jazzy-action-tutorials-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-action-tutorials-py/recipe.yaml b/recipes/ros-jazzy-action-tutorials-py/recipe.yaml
new file mode 100644
index 00000000..5771d4e6
--- /dev/null
+++ b/recipes/ros-jazzy-action-tutorials-py/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-action-tutorials-py
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/action_tutorials_py/0.33.5-1
+ target_directory: ros-jazzy-action-tutorials-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-action-tutorials-interfaces
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-action-tutorials-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-actionlib-msgs/recipe.yaml b/recipes/ros-jazzy-actionlib-msgs/recipe.yaml
new file mode 100644
index 00000000..37756ea5
--- /dev/null
+++ b/recipes/ros-jazzy-actionlib-msgs/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-actionlib-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/actionlib_msgs/5.3.5-1
+ target_directory: ros-jazzy-actionlib-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-actuator-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-actuator-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-actuator-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-actuator-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-actuator-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-actuator-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-actuator-msgs/recipe.yaml b/recipes/ros-jazzy-actuator-msgs/recipe.yaml
new file mode 100644
index 00000000..1c4e6f0f
--- /dev/null
+++ b/recipes/ros-jazzy-actuator-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-actuator-msgs
+ version: 0.0.1
+source:
+ git: https://github.com/ros2-gbp/actuator_msgs-release.git
+ tag: release/jazzy/actuator_msgs/0.0.1-4
+ target_directory: ros-jazzy-actuator-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-admittance-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-admittance-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-admittance-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-admittance-controller/build_ament_cmake.sh b/recipes/ros-jazzy-admittance-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-admittance-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-admittance-controller/recipe.yaml b/recipes/ros-jazzy-admittance-controller/recipe.yaml
new file mode 100644
index 00000000..4bf54721
--- /dev/null
+++ b/recipes/ros-jazzy-admittance-controller/recipe.yaml
@@ -0,0 +1,129 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-admittance-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/admittance_controller/4.20.0-1
+ target_directory: ros-jazzy-admittance-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-filters
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-kinematics-interface
+ - ros-jazzy-kinematics-interface-kdl
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-filters
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-kinematics-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-clang-format/bld_ament_python.bat b/recipes/ros-jazzy-ament-clang-format/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-clang-format/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-clang-format/build_ament_python.sh b/recipes/ros-jazzy-ament-clang-format/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-clang-format/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-clang-format/recipe.yaml b/recipes/ros-jazzy-ament-clang-format/recipe.yaml
new file mode 100644
index 00000000..8456dd66
--- /dev/null
+++ b/recipes/ros-jazzy-ament-clang-format/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-clang-format
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_clang_format/0.17.1-1
+ target_directory: ros-jazzy-ament-clang-format/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - clang-format
+ - python
+ - pyyaml
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-auto/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-auto/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-auto/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-auto/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-auto/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-auto/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-auto/recipe.yaml b/recipes/ros-jazzy-ament-cmake-auto/recipe.yaml
new file mode 100644
index 00000000..64d17a32
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-auto/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-auto
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_auto/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-auto/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-catch2/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-catch2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-catch2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-catch2/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-catch2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-catch2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-catch2/recipe.yaml b/recipes/ros-jazzy-ament-cmake-catch2/recipe.yaml
new file mode 100644
index 00000000..5329af50
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-catch2/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-catch2
+ version: 1.4.1
+source:
+ git: https://github.com/ros2-gbp/ament_cmake_catch2-release.git
+ tag: release/jazzy/ament_cmake_catch2/1.4.1-1
+ target_directory: ros-jazzy-ament-cmake-catch2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml b/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml
new file mode 100644
index 00000000..2809462c
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-clang-format
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_clang_format/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-clang-format/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-clang-format
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-clang-format
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml b/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml
new file mode 100644
index 00000000..5cba30fe
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-copyright
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_copyright/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-copyright/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-core/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-core/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-core/recipe.yaml b/recipes/ros-jazzy-ament-cmake-core/recipe.yaml
new file mode 100644
index 00000000..33699a46
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-core/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-core
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_core/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-core/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - catkin_pkg
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-package
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - catkin_pkg
+ - cmake
+ - python
+ - ros-jazzy-ament-package
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml b/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml
new file mode 100644
index 00000000..6850ef3d
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-cppcheck
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_cppcheck/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-cppcheck/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cppcheck
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cppcheck
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml b/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml
new file mode 100644
index 00000000..58e42571
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-cpplint
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_cpplint/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-cpplint/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cpplint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cpplint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-definitions/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-definitions/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-definitions/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-definitions/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-definitions/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-definitions/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-definitions/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-definitions/recipe.yaml
new file mode 100644
index 00000000..abf40651
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-definitions/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-definitions
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_definitions/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-definitions/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-dependencies/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-dependencies/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-dependencies/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-dependencies/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-dependencies/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-dependencies/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-dependencies/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-dependencies/recipe.yaml
new file mode 100644
index 00000000..f733c1ea
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-dependencies/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-dependencies
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_dependencies/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-dependencies/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-include-directories/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-include-directories/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-include-directories/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-include-directories/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-include-directories/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-include-directories/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-include-directories/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-include-directories/recipe.yaml
new file mode 100644
index 00000000..44f11de6
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-include-directories/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-include-directories
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_include_directories/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-include-directories/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-interfaces/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-interfaces/recipe.yaml
new file mode 100644
index 00000000..e8fa8751
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-interfaces/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-interfaces
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_interfaces/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-libraries/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-libraries/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-libraries/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-libraries/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-libraries/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-libraries/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-libraries/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-libraries/recipe.yaml
new file mode 100644
index 00000000..81fa10f1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-libraries/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-libraries
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_libraries/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-libraries/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-link-flags/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-link-flags/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-link-flags/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-link-flags/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-link-flags/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-link-flags/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-link-flags/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-link-flags/recipe.yaml
new file mode 100644
index 00000000..a5cda508
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-link-flags/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-link-flags
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_link_flags/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-link-flags/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-export-targets/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-export-targets/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-targets/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-export-targets/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-export-targets/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-targets/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-export-targets/recipe.yaml b/recipes/ros-jazzy-ament-cmake-export-targets/recipe.yaml
new file mode 100644
index 00000000..9823f77e
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-export-targets/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-export-targets
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_export_targets/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-export-targets/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml b/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml
new file mode 100644
index 00000000..e14c73cc
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-flake8
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_flake8/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-flake8/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-gen-version-h/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-gen-version-h/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gen-version-h/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-gen-version-h/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-gen-version-h/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gen-version-h/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-gen-version-h/recipe.yaml b/recipes/ros-jazzy-ament-cmake-gen-version-h/recipe.yaml
new file mode 100644
index 00000000..d1580539
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gen-version-h/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-gen-version-h
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_gen_version_h/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-gen-version-h/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-gmock/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-gmock/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gmock/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-gmock/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-gmock/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gmock/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-gmock/recipe.yaml b/recipes/ros-jazzy-ament-cmake-gmock/recipe.yaml
new file mode 100644
index 00000000..e6e4312c
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gmock/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-gmock
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_gmock/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-gmock/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gmock
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-gmock-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gmock
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-gmock-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-google-benchmark/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-google-benchmark/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-google-benchmark/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-google-benchmark/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-google-benchmark/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-google-benchmark/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-google-benchmark/recipe.yaml b/recipes/ros-jazzy-ament-cmake-google-benchmark/recipe.yaml
new file mode 100644
index 00000000..c5d9c2b3
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-google-benchmark/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-google-benchmark
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_google_benchmark/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-google-benchmark/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-google-benchmark-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-gtest/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-gtest/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gtest/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-gtest/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-gtest/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gtest/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-gtest/recipe.yaml b/recipes/ros-jazzy-ament-cmake-gtest/recipe.yaml
new file mode 100644
index 00000000..92389f93
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-gtest/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-gtest
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_gtest/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-gtest/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gtest
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-gtest-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gtest
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-gtest-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-include-directories/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-include-directories/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-include-directories/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-include-directories/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-include-directories/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-include-directories/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-include-directories/recipe.yaml b/recipes/ros-jazzy-ament-cmake-include-directories/recipe.yaml
new file mode 100644
index 00000000..9d62c9e0
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-include-directories/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-include-directories
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_include_directories/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-include-directories/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-libraries/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-libraries/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-libraries/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-libraries/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-libraries/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-libraries/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-libraries/recipe.yaml b/recipes/ros-jazzy-ament-cmake-libraries/recipe.yaml
new file mode 100644
index 00000000..d1412af8
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-libraries/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-libraries
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_libraries/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-libraries/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml b/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml
new file mode 100644
index 00000000..bf3de3e0
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-lint-cmake
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_lint_cmake/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-lint-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-mypy/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-mypy/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-mypy/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-mypy/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-mypy/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-mypy/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-mypy/recipe.yaml b/recipes/ros-jazzy-ament-cmake-mypy/recipe.yaml
new file mode 100644
index 00000000..229c6991
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-mypy/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-mypy
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_mypy/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-mypy/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-mypy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-mypy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml b/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml
new file mode 100644
index 00000000..4671a09f
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-pep257
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_pep257/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-pep257/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-pytest/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-pytest/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pytest/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-pytest/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-pytest/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pytest/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-pytest/recipe.yaml b/recipes/ros-jazzy-ament-cmake-pytest/recipe.yaml
new file mode 100644
index 00000000..0e16912e
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-pytest/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-pytest
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_pytest/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-pytest/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-python/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-python/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-python/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-python/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-python/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-python/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-python/recipe.yaml b/recipes/ros-jazzy-ament-cmake-python/recipe.yaml
new file mode 100644
index 00000000..a08af708
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-python/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-python
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_python/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-python/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml b/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml
new file mode 100644
index 00000000..52c53cf1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-ros
+ version: 0.12.0
+source:
+ git: https://github.com/ros2-gbp/ament_cmake_ros-release.git
+ tag: release/jazzy/ament_cmake_ros/0.12.0-3
+ target_directory: ros-jazzy-ament-cmake-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-domain-coordinator
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-domain-coordinator
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-target-dependencies/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-target-dependencies/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-target-dependencies/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-target-dependencies/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-target-dependencies/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-target-dependencies/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-target-dependencies/recipe.yaml b/recipes/ros-jazzy-ament-cmake-target-dependencies/recipe.yaml
new file mode 100644
index 00000000..74cc4739
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-target-dependencies/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-target-dependencies
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_target_dependencies/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-target-dependencies/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-include-directories
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-include-directories
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-test/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-test/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-test/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-test/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-test/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-test/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-test/recipe.yaml b/recipes/ros-jazzy-ament-cmake-test/recipe.yaml
new file mode 100644
index 00000000..a3352c5f
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-test/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-test
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_test/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-test/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml b/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml
new file mode 100644
index 00000000..80a39b28
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-uncrustify
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_uncrustify/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-uncrustify/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-uncrustify
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-uncrustify
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-vendor-package/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-vendor-package/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-vendor-package/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-vendor-package/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-vendor-package/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-vendor-package/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-vendor-package/patch/ros-jazzy-ament-cmake-vendor-package.patch b/recipes/ros-jazzy-ament-cmake-vendor-package/patch/ros-jazzy-ament-cmake-vendor-package.patch
new file mode 100644
index 00000000..4a02afd0
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-vendor-package/patch/ros-jazzy-ament-cmake-vendor-package.patch
@@ -0,0 +1,64 @@
+diff --git a/cmake/ament_vendor.cmake b/cmake/ament_vendor.cmake
+index c9b963cd0..d23ff2aa2 100644
+--- a/cmake/ament_vendor.cmake
++++ b/cmake/ament_vendor.cmake
+@@ -49,6 +49,14 @@
+ # projects.
+ # :type GLOBAL_HOOK: option
+ #
++# Beside CMake macro options, the macro is also influenced by the following two
++# CMake options, that can be set at the CMake invocation for the project that
++# uses ament_vendor() macro:
++# * `FORCE_BUILD_VENDOR_PKG`: If ON build vendor packages from source, even if
++# system-installed packages are available
++# * `AMENT_VENDOR_NEVER_VENDOR`: If ON, raise an error if SATISFIED argument is
++# not true instead of building the vendored package
++#
+ # @public
+ #
+ macro(ament_vendor TARGET_NAME)
+@@ -97,6 +105,18 @@ macro(ament_vendor TARGET_NAME)
+ "Build vendor packages from source, even if system-installed packages are available"
+ OFF)
+
++ option(AMENT_VENDOR_NEVER_VENDOR
++ "If ON, raise an error if SATISFIED argument is not true instead of building the vendored package"
++ OFF)
++
++ if(FORCE_BUILD_VENDOR_PKG AND AMENT_VENDOR_NEVER_VENDOR)
++ message(FATAL_ERROR "ament_vendor() cannot have both FORCE_BUILD_VENDOR_PKG and AMENT_VENDOR_NEVER_VENDOR options enabled")
++ endif()
++
++ if(NOT _ARG_SATISFIED AND AMENT_VENDOR_NEVER_VENDOR)
++ message(FATAL_ERROR "ament_vendor() SATISFIED option is OFF and AMENT_VENDOR_NEVER_VENDOR is ON")
++ endif()
++
+ if(NOT _ARG_SATISFIED OR FORCE_BUILD_VENDOR_PKG)
+ if(_ARG_SATISFIED)
+ message(STATUS "Forcing vendor package build for '${TARGET_NAME}', which is already satisfied")
+@@ -245,6 +245,10 @@ function(_ament_vendor TARGET_NAME VCS_TYPE VCS_URL VCS_VERSION PATCHES CMAKE_AR
+ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(CMAKE_MODULE_PATH [=[${CMAKE_MODULE_PATH}]=] CACHE INTERNAL \"\")")
+ endif()
+
++ if(DEFINED CMAKE_IGNORE_PREFIX_PATH)
++ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(CMAKE_IGNORE_PREFIX_PATH [=[${CMAKE_IGNORE_PREFIX_PATH}]=] CACHE INTERNAL \"\")")
++ endif()
++
+ list(PREPEND CMAKE_PREFIX_PATH ${_AMENT_CMAKE_VENDOR_PACKAGE_PREFIX_PATH})
+ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(CMAKE_PREFIX_PATH [=[${CMAKE_PREFIX_PATH}]=] CACHE INTERNAL \"\")")
+
+@@ -256,6 +260,14 @@ function(_ament_vendor TARGET_NAME VCS_TYPE VCS_URL VCS_VERSION PATCHES CMAKE_AR
+ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(BUILD_SHARED_LIBS ON CACHE BOOL \"\")")
+ endif()
+
++ if(DEFINED Python_EXECUTABLE)
++ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(Python_EXECUTABLE [=[${Python_EXECUTABLE}]=] CACHE INTERNAL \"\")")
++ endif()
++
++ if(DEFINED Python3_EXECUTABLE)
++ set(CMAKE_ARGS_CONTENT "${CMAKE_ARGS_CONTENT}\nset(Python3_EXECUTABLE [=[${Python3_EXECUTABLE}]=] CACHE INTERNAL \"\")")
++ endif()
++
+ file(GENERATE OUTPUT "${CMAKE_ARGS_FILE}" CONTENT "${CMAKE_ARGS_CONTENT}")
+ list(PREPEND CMAKE_ARGS "-C${CMAKE_ARGS_FILE}")
+
diff --git a/recipes/ros-jazzy-ament-cmake-vendor-package/recipe.yaml b/recipes/ros-jazzy-ament-cmake-vendor-package/recipe.yaml
new file mode 100644
index 00000000..5f5a2da4
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-vendor-package/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-vendor-package
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_vendor_package/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-vendor-package/src/work
+ patches:
+ - patch/ros-jazzy-ament-cmake-vendor-package.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vcstool
+ run:
+ - git
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vcstool
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-version/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-version/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-version/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-version/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-version/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-version/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-version/recipe.yaml b/recipes/ros-jazzy-ament-cmake-version/recipe.yaml
new file mode 100644
index 00000000..c11c5c15
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-version/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-version
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake_version/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake-version/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml b/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml
new file mode 100644
index 00000000..01f55ff0
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake-xmllint
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cmake_xmllint/0.17.1-1
+ target_directory: ros-jazzy-ament-cmake-xmllint/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-cmake/recipe.yaml b/recipes/ros-jazzy-ament-cmake/recipe.yaml
new file mode 100644
index 00000000..3ab753c6
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cmake/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cmake
+ version: 2.5.3
+source:
+ git: https://github.com/ros2-gbp/ament_cmake-release.git
+ tag: release/jazzy/ament_cmake/2.5.3-1
+ target_directory: ros-jazzy-ament-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-definitions
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ament-cmake-export-include-directories
+ - ros-jazzy-ament-cmake-export-interfaces
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ament-cmake-export-link-flags
+ - ros-jazzy-ament-cmake-export-targets
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-target-dependencies
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-version
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - cmake
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-definitions
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ament-cmake-export-include-directories
+ - ros-jazzy-ament-cmake-export-interfaces
+ - ros-jazzy-ament-cmake-export-libraries
+ - ros-jazzy-ament-cmake-export-link-flags
+ - ros-jazzy-ament-cmake-export-targets
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-target-dependencies
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-version
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-copyright/bld_ament_python.bat b/recipes/ros-jazzy-ament-copyright/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-copyright/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-copyright/build_ament_python.sh b/recipes/ros-jazzy-ament-copyright/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-copyright/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-copyright/recipe.yaml b/recipes/ros-jazzy-ament-copyright/recipe.yaml
new file mode 100644
index 00000000..35bed794
--- /dev/null
+++ b/recipes/ros-jazzy-ament-copyright/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-copyright
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_copyright/0.17.1-1
+ target_directory: ros-jazzy-ament-copyright/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - importlib-metadata
+ - python
+ - ros-jazzy-ament-lint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cppcheck/bld_ament_python.bat b/recipes/ros-jazzy-ament-cppcheck/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cppcheck/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cppcheck/build_ament_python.sh b/recipes/ros-jazzy-ament-cppcheck/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cppcheck/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-cppcheck/recipe.yaml b/recipes/ros-jazzy-ament-cppcheck/recipe.yaml
new file mode 100644
index 00000000..d9d7920f
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cppcheck/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cppcheck
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cppcheck/0.17.1-1
+ target_directory: ros-jazzy-ament-cppcheck/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-pycodestyle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - cppcheck
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-cpplint/bld_ament_python.bat b/recipes/ros-jazzy-ament-cpplint/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cpplint/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-cpplint/build_ament_python.sh b/recipes/ros-jazzy-ament-cpplint/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cpplint/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-cpplint/recipe.yaml b/recipes/ros-jazzy-ament-cpplint/recipe.yaml
new file mode 100644
index 00000000..9bd10189
--- /dev/null
+++ b/recipes/ros-jazzy-ament-cpplint/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-cpplint
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_cpplint/0.17.1-1
+ target_directory: ros-jazzy-ament-cpplint/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - script:
+ - ament_cpplint --help
diff --git a/recipes/ros-jazzy-ament-flake8/bld_ament_python.bat b/recipes/ros-jazzy-ament-flake8/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-flake8/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-flake8/build_ament_python.sh b/recipes/ros-jazzy-ament-flake8/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-flake8/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-flake8/recipe.yaml b/recipes/ros-jazzy-ament-flake8/recipe.yaml
new file mode 100644
index 00000000..a0b7700f
--- /dev/null
+++ b/recipes/ros-jazzy-ament-flake8/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-flake8
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_flake8/0.17.1-1
+ target_directory: ros-jazzy-ament-flake8/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - flake8
+ - flake8-builtins
+ - flake8-comprehensions
+ - flake8-docstrings
+ - flake8-import-order
+ - flake8-quotes
+ - python
+ - ros-jazzy-ament-lint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-index-cpp/recipe.yaml b/recipes/ros-jazzy-ament-index-cpp/recipe.yaml
new file mode 100644
index 00000000..ba00e5a3
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-cpp/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-index-cpp
+ version: 1.8.1
+source:
+ git: https://github.com/ros2-gbp/ament_index-release.git
+ tag: release/jazzy/ament_index_cpp/1.8.1-1
+ target_directory: ros-jazzy-ament-index-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-index-python/bld_ament_python.bat b/recipes/ros-jazzy-ament-index-python/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-python/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-index-python/build_ament_python.sh b/recipes/ros-jazzy-ament-index-python/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-python/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-index-python/recipe.yaml b/recipes/ros-jazzy-ament-index-python/recipe.yaml
new file mode 100644
index 00000000..36e0746d
--- /dev/null
+++ b/recipes/ros-jazzy-ament-index-python/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-index-python
+ version: 1.8.1
+source:
+ git: https://github.com/ros2-gbp/ament_index-release.git
+ tag: release/jazzy/ament_index_python/1.8.1-1
+ target_directory: ros-jazzy-ament-index-python/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-lint-auto/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-lint-auto/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-auto/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-lint-auto/build_ament_cmake.sh b/recipes/ros-jazzy-ament-lint-auto/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-auto/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-lint-auto/recipe.yaml b/recipes/ros-jazzy-ament-lint-auto/recipe.yaml
new file mode 100644
index 00000000..73956e64
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-auto/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-lint-auto
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_lint_auto/0.17.1-1
+ target_directory: ros-jazzy-ament-lint-auto/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-lint-cmake/bld_ament_python.bat b/recipes/ros-jazzy-ament-lint-cmake/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-cmake/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-lint-cmake/build_ament_python.sh b/recipes/ros-jazzy-ament-lint-cmake/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-cmake/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-lint-cmake/recipe.yaml b/recipes/ros-jazzy-ament-lint-cmake/recipe.yaml
new file mode 100644
index 00000000..b6487263
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-cmake/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-lint-cmake
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_lint_cmake/0.17.1-1
+ target_directory: ros-jazzy-ament-lint-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - script:
+ - ament_lint_cmake --help
diff --git a/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh b/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ament-lint-common/recipe.yaml b/recipes/ros-jazzy-ament-lint-common/recipe.yaml
new file mode 100644
index 00000000..181346da
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint-common/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-lint-common
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_lint_common/0.17.1-1
+ target_directory: ros-jazzy-ament-lint-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-flake8
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-pep257
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-lint/bld_ament_python.bat b/recipes/ros-jazzy-ament-lint/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-lint/build_ament_python.sh b/recipes/ros-jazzy-ament-lint/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-lint/recipe.yaml b/recipes/ros-jazzy-ament-lint/recipe.yaml
new file mode 100644
index 00000000..0df53ae8
--- /dev/null
+++ b/recipes/ros-jazzy-ament-lint/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-lint
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_lint/0.17.1-1
+ target_directory: ros-jazzy-ament-lint/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-mypy/bld_ament_python.bat b/recipes/ros-jazzy-ament-mypy/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-mypy/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-mypy/build_ament_python.sh b/recipes/ros-jazzy-ament-mypy/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-mypy/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-mypy/recipe.yaml b/recipes/ros-jazzy-ament-mypy/recipe.yaml
new file mode 100644
index 00000000..798c811b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-mypy/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-mypy
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_mypy/0.17.1-1
+ target_directory: ros-jazzy-ament-mypy/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-mock
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - mypy
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-package/bld_ament_python.bat b/recipes/ros-jazzy-ament-package/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-package/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-package/build_ament_python.sh b/recipes/ros-jazzy-ament-package/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-package/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-package/recipe.yaml b/recipes/ros-jazzy-ament-package/recipe.yaml
new file mode 100644
index 00000000..56ea95c7
--- /dev/null
+++ b/recipes/ros-jazzy-ament-package/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-package
+ version: 0.16.3
+source:
+ git: https://github.com/ros2-gbp/ament_package-release.git
+ tag: release/jazzy/ament_package/0.16.3-3
+ target_directory: ros-jazzy-ament-package/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - flake8
+ - importlib_resources
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - importlib-metadata
+ - importlib_resources
+ - python
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-pep257/bld_ament_python.bat b/recipes/ros-jazzy-ament-pep257/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pep257/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-pep257/build_ament_python.sh b/recipes/ros-jazzy-ament-pep257/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pep257/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-pep257/recipe.yaml b/recipes/ros-jazzy-ament-pep257/recipe.yaml
new file mode 100644
index 00000000..a5cfef64
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pep257/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-pep257
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_pep257/0.17.1-1
+ target_directory: ros-jazzy-ament-pep257/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pydocstyle
+ - python
+ - ros-jazzy-ament-lint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-pycodestyle/bld_ament_python.bat b/recipes/ros-jazzy-ament-pycodestyle/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pycodestyle/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-pycodestyle/build_ament_python.sh b/recipes/ros-jazzy-ament-pycodestyle/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pycodestyle/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-pycodestyle/recipe.yaml b/recipes/ros-jazzy-ament-pycodestyle/recipe.yaml
new file mode 100644
index 00000000..2456db5b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-pycodestyle/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-pycodestyle
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_pycodestyle/0.17.1-1
+ target_directory: ros-jazzy-ament-pycodestyle/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pycodestyle
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat b/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh b/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-uncrustify/recipe.yaml b/recipes/ros-jazzy-ament-uncrustify/recipe.yaml
new file mode 100644
index 00000000..05494c51
--- /dev/null
+++ b/recipes/ros-jazzy-ament-uncrustify/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-uncrustify
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_uncrustify/0.17.1-1
+ target_directory: ros-jazzy-ament-uncrustify/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-pycodestyle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-uncrustify-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ament-xmllint/bld_ament_python.bat b/recipes/ros-jazzy-ament-xmllint/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ament-xmllint/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ament-xmllint/build_ament_python.sh b/recipes/ros-jazzy-ament-xmllint/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ament-xmllint/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ament-xmllint/recipe.yaml b/recipes/ros-jazzy-ament-xmllint/recipe.yaml
new file mode 100644
index 00000000..78e812da
--- /dev/null
+++ b/recipes/ros-jazzy-ament-xmllint/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ament-xmllint
+ version: 0.17.1
+source:
+ git: https://github.com/ros2-gbp/ament_lint-release.git
+ tag: release/jazzy/ament_xmllint/0.17.1-1
+ target_directory: ros-jazzy-ament-xmllint/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - libxml2
+ - python
+ - ros-jazzy-ament-lint
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - script:
+ - ament_xmllint --help
diff --git a/recipes/ros-jazzy-angles/bld_ament_cmake.bat b/recipes/ros-jazzy-angles/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-angles/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-angles/build_ament_cmake.sh b/recipes/ros-jazzy-angles/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-angles/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-angles/recipe.yaml b/recipes/ros-jazzy-angles/recipe.yaml
new file mode 100644
index 00000000..0596e059
--- /dev/null
+++ b/recipes/ros-jazzy-angles/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-angles
+ version: 1.16.0
+source:
+ git: https://github.com/ros2-gbp/angles-release.git
+ tag: release/jazzy/angles/1.16.0-5
+ target_directory: ros-jazzy-angles/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-apriltag-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-apriltag-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-apriltag-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-apriltag-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-apriltag-msgs/recipe.yaml b/recipes/ros-jazzy-apriltag-msgs/recipe.yaml
new file mode 100644
index 00000000..a284ae06
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-apriltag-msgs
+ version: 2.0.1
+source:
+ git: https://github.com/ros2-gbp/apriltag_msgs-release.git
+ tag: release/jazzy/apriltag_msgs/2.0.1-5
+ target_directory: ros-jazzy-apriltag-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-apriltag-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-apriltag-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-apriltag-ros/build_ament_cmake.sh b/recipes/ros-jazzy-apriltag-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-apriltag-ros/patch/ros-jazzy-apriltag-ros.patch b/recipes/ros-jazzy-apriltag-ros/patch/ros-jazzy-apriltag-ros.patch
new file mode 100644
index 00000000..35aac4ce
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-ros/patch/ros-jazzy-apriltag-ros.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c906851..b48600f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,8 +5,10 @@ project(apriltag_ros)
+ set(CMAKE_CXX_STANDARD 14)
+
+ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- add_compile_options(-Werror -Wall -Wextra -Wpedantic)
+- add_link_options("-Wl,-z,relro,-z,now,-z,defs")
++ if(NOT APPLE)
++ add_compile_options(-Werror -Wall -Wextra -Wpedantic)
++ add_link_options("-Wl,-z,relro,-z,now,-z,defs")
++ endif()
+ endif()
+
+ option(ASAN "use AddressSanitizer to detect memory issues" OFF)
diff --git a/recipes/ros-jazzy-apriltag-ros/recipe.yaml b/recipes/ros-jazzy-apriltag-ros/recipe.yaml
new file mode 100644
index 00000000..8727ba59
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag-ros/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-apriltag-ros
+ version: 3.2.2
+source:
+ git: https://github.com/ros2-gbp/apriltag_ros-release.git
+ tag: release/jazzy/apriltag_ros/3.2.2-1
+ target_directory: ros-jazzy-apriltag-ros/src/work
+ patches:
+ - patch/ros-jazzy-apriltag-ros.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-clang-format
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-apriltag
+ - ros-jazzy-apriltag-msgs
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-apriltag
+ - ros-jazzy-apriltag-msgs
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-apriltag/bld_catkin.bat b/recipes/ros-jazzy-apriltag/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-apriltag/build_catkin.sh b/recipes/ros-jazzy-apriltag/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-apriltag/recipe.yaml b/recipes/ros-jazzy-apriltag/recipe.yaml
new file mode 100644
index 00000000..b8703f75
--- /dev/null
+++ b/recipes/ros-jazzy-apriltag/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-apriltag
+ version: 3.4.2
+source:
+ git: https://github.com/ros2-gbp/apriltag-release.git
+ tag: release/jazzy/apriltag/3.4.2-1
+ target_directory: ros-jazzy-apriltag/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-backward-ros/bld_catkin.bat b/recipes/ros-jazzy-backward-ros/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-backward-ros/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-backward-ros/build_catkin.sh b/recipes/ros-jazzy-backward-ros/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-backward-ros/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-backward-ros/patch/ros-jazzy-backward-ros.patch b/recipes/ros-jazzy-backward-ros/patch/ros-jazzy-backward-ros.patch
new file mode 100644
index 00000000..5bebceeb
--- /dev/null
+++ b/recipes/ros-jazzy-backward-ros/patch/ros-jazzy-backward-ros.patch
@@ -0,0 +1,64 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 317f65f..1f38e81 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,6 +27,7 @@ include(cmake/BackwardConfig.cmake)
+
+ set(CMAKE_CXX_STANDARD_REQUIRED True)
+ set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+ ###############################################################################
+ # COMPILER FLAGS
+diff --git a/cmake/BackwardConfig.cmake b/cmake/BackwardConfig.cmake
+index 77d22d2..8e95287 100644
+--- a/cmake/BackwardConfig.cmake
++++ b/cmake/BackwardConfig.cmake
+@@ -125,11 +125,14 @@ endforeach()
+
+ set(BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}")
+
++set(FIND_PACKAGE_REQUIRED_VARS BACKWARD_INCLUDE_DIR)
++if(DEFINED BACKWARD_LIBRARIES)
++ list(APPEND FIND_PACKAGE_REQUIRED_VARS BACKWARD_LIBRARIES)
++endif()
++
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Backward
+- REQUIRED_VARS
+- BACKWARD_INCLUDE_DIR
+- BACKWARD_LIBRARIES
++ REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
+ )
+ list(APPEND _BACKWARD_INCLUDE_DIRS ${BACKWARD_INCLUDE_DIR})
+
+diff --git a/cmake/BackwardConfigAment.cmake b/cmake/BackwardConfigAment.cmake
+index 273a51a..3a1a726 100644
+--- a/cmake/BackwardConfigAment.cmake
++++ b/cmake/BackwardConfigAment.cmake
+@@ -24,5 +24,12 @@ foreach(lib ${backward_ros_forced_LIBRARIES})
+ set(backward_ros_full_path_LIBRARIES "${backward_ros_full_path_LIBRARIES} ${lib}")
+ endif()
+ endforeach()
+-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed ${backward_ros_full_path_LIBRARIES} -Wl,--as-needed ${CMAKE_EXE_LINKER_FLAGS}")
++set(no_as_needed)
++set(as_needed)
+
++if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
++ set(no_as_needed "-Wl,--no-as-needed")
++ set(as_needed "-Wl,--as-needed")
++endif()
++
++SET(CMAKE_EXE_LINKER_FLAGS "${no_as_needed} ${backward_ros_full_path_LIBRARIES} ${as_needed} ${CMAKE_EXE_LINKER_FLAGS}")
+diff --git a/package.xml b/package.xml
+index 6de8f0e..3ac0db1 100644
+--- a/package.xml
++++ b/package.xml
+@@ -11,6 +11,7 @@
+ https://github.com/pal-robotics/backward_ros
+
+ cmake
++ ament_cmake_libraries
+
+ libdw-dev
+
diff --git a/recipes/ros-jazzy-backward-ros/recipe.yaml b/recipes/ros-jazzy-backward-ros/recipe.yaml
new file mode 100644
index 00000000..28423e0f
--- /dev/null
+++ b/recipes/ros-jazzy-backward-ros/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-backward-ros
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/backward_ros-release.git
+ tag: release/jazzy/backward_ros/1.0.7-1
+ target_directory: ros-jazzy-backward-ros/src/work
+ patches:
+ - patch/ros-jazzy-backward-ros.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - ${{ 'binutils' if linux or (osx and x86_64) }}
+ - ${{ 'elfutils' if linux }}
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - elfutils
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-libraries
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - elfutils
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-behaviortree-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-behaviortree-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-behaviortree-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-behaviortree-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-behaviortree-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-behaviortree-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-behaviortree-cpp/patch/ros-jazzy-behaviortree-cpp.patch b/recipes/ros-jazzy-behaviortree-cpp/patch/ros-jazzy-behaviortree-cpp.patch
new file mode 100644
index 00000000..88c876b6
--- /dev/null
+++ b/recipes/ros-jazzy-behaviortree-cpp/patch/ros-jazzy-behaviortree-cpp.patch
@@ -0,0 +1,13 @@
+diff --git a/3rdparty/lexy/include/lexy/input_location.hpp b/3rdparty/lexy/include/lexy/input_location.hpp
+index e6c14cf..654cdaa 100644
+--- a/3rdparty/lexy/include/lexy/input_location.hpp
++++ b/3rdparty/lexy/include/lexy/input_location.hpp
+@@ -162,7 +162,7 @@ public:
+ {
+ if (lhs._line_nr != rhs._line_nr)
+ return lhs._line_nr < rhs._line_nr;
+- return lhs._column_nr < rhs._colum_nr;
++ return lhs._column_nr < rhs._column_nr;
+ }
+ friend constexpr bool operator<=(const input_location& lhs, const input_location& rhs)
+ {
diff --git a/recipes/ros-jazzy-behaviortree-cpp/recipe.yaml b/recipes/ros-jazzy-behaviortree-cpp/recipe.yaml
new file mode 100644
index 00000000..3261c8a0
--- /dev/null
+++ b/recipes/ros-jazzy-behaviortree-cpp/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-behaviortree-cpp
+ version: 4.6.2
+source:
+ git: https://github.com/ros2-gbp/behaviortree_cpp_v4-release.git
+ tag: release/jazzy/behaviortree_cpp/4.6.2-1
+ target_directory: ros-jazzy-behaviortree-cpp/src/work
+ patches:
+ - patch/ros-jazzy-behaviortree-cpp.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cppzmq
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite
+ - sqlite 3.*
+ - zeromq
+ run:
+ - cppzmq
+ - libboost
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite
+ - zeromq
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-bicycle-steering-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-bicycle-steering-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-bicycle-steering-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-bicycle-steering-controller/build_ament_cmake.sh b/recipes/ros-jazzy-bicycle-steering-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-bicycle-steering-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-bicycle-steering-controller/recipe.yaml b/recipes/ros-jazzy-bicycle-steering-controller/recipe.yaml
new file mode 100644
index 00000000..2fa79a40
--- /dev/null
+++ b/recipes/ros-jazzy-bicycle-steering-controller/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-bicycle-steering-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/bicycle_steering_controller/4.20.0-1
+ target_directory: ros-jazzy-bicycle-steering-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-bond/bld_ament_cmake.bat b/recipes/ros-jazzy-bond/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-bond/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-bond/build_ament_cmake.sh b/recipes/ros-jazzy-bond/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-bond/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-bond/recipe.yaml b/recipes/ros-jazzy-bond/recipe.yaml
new file mode 100644
index 00000000..d1f29c6c
--- /dev/null
+++ b/recipes/ros-jazzy-bond/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-bond
+ version: 4.1.2
+source:
+ git: https://github.com/ros2-gbp/bond_core-release.git
+ tag: release/jazzy/bond/4.1.2-1
+ target_directory: ros-jazzy-bond/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-bondcpp/bld_ament_cmake.bat b/recipes/ros-jazzy-bondcpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-bondcpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-bondcpp/build_ament_cmake.sh b/recipes/ros-jazzy-bondcpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-bondcpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-bondcpp/recipe.yaml b/recipes/ros-jazzy-bondcpp/recipe.yaml
new file mode 100644
index 00000000..b54829bd
--- /dev/null
+++ b/recipes/ros-jazzy-bondcpp/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-bondcpp
+ version: 4.1.2
+source:
+ git: https://github.com/ros2-gbp/bond_core-release.git
+ tag: release/jazzy/bondcpp/4.1.2-1
+ target_directory: ros-jazzy-bondcpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libuuid
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-bond
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-smclib
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libuuid
+ - python
+ - ros-jazzy-bond
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-smclib
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-builtin-interfaces/recipe.yaml b/recipes/ros-jazzy-builtin-interfaces/recipe.yaml
new file mode 100644
index 00000000..9e81b186
--- /dev/null
+++ b/recipes/ros-jazzy-builtin-interfaces/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-builtin-interfaces
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/builtin_interfaces/2.0.2-2
+ target_directory: ros-jazzy-builtin-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-camera-calibration-parsers/bld_ament_cmake.bat b/recipes/ros-jazzy-camera-calibration-parsers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration-parsers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-camera-calibration-parsers/build_ament_cmake.sh b/recipes/ros-jazzy-camera-calibration-parsers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration-parsers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-camera-calibration-parsers/recipe.yaml b/recipes/ros-jazzy-camera-calibration-parsers/recipe.yaml
new file mode 100644
index 00000000..bae4160d
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration-parsers/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-camera-calibration-parsers
+ version: 5.1.5
+source:
+ git: https://github.com/ros2-gbp/image_common-release.git
+ tag: release/jazzy/camera_calibration_parsers/5.1.5-1
+ target_directory: ros-jazzy-camera-calibration-parsers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-camera-calibration/bld_ament_python.bat b/recipes/ros-jazzy-camera-calibration/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-camera-calibration/build_ament_python.sh b/recipes/ros-jazzy-camera-calibration/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-camera-calibration/recipe.yaml b/recipes/ros-jazzy-camera-calibration/recipe.yaml
new file mode 100644
index 00000000..a0ca463f
--- /dev/null
+++ b/recipes/ros-jazzy-camera-calibration/recipe.yaml
@@ -0,0 +1,105 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-camera-calibration
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/camera_calibration/5.0.6-1
+ target_directory: ros-jazzy-camera-calibration/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - pytest
+ - python
+ - requests
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-camera-info-manager/bld_ament_cmake.bat b/recipes/ros-jazzy-camera-info-manager/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-camera-info-manager/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-camera-info-manager/build_ament_cmake.sh b/recipes/ros-jazzy-camera-info-manager/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-camera-info-manager/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-camera-info-manager/recipe.yaml b/recipes/ros-jazzy-camera-info-manager/recipe.yaml
new file mode 100644
index 00000000..8a92b5b7
--- /dev/null
+++ b/recipes/ros-jazzy-camera-info-manager/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-camera-info-manager
+ version: 5.1.5
+source:
+ git: https://github.com/ros2-gbp/image_common-release.git
+ tag: release/jazzy/camera_info_manager/5.1.5-1
+ target_directory: ros-jazzy-camera-info-manager/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-chomp-motion-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-chomp-motion-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-chomp-motion-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-chomp-motion-planner/build_ament_cmake.sh b/recipes/ros-jazzy-chomp-motion-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-chomp-motion-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-chomp-motion-planner/recipe.yaml b/recipes/ros-jazzy-chomp-motion-planner/recipe.yaml
new file mode 100644
index 00000000..03f43e13
--- /dev/null
+++ b/recipes/ros-jazzy-chomp-motion-planner/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-chomp-motion-planner
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/chomp_motion_planner/2.12.1-1
+ target_directory: ros-jazzy-chomp-motion-planner/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat b/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-class-loader/build_ament_cmake.sh b/recipes/ros-jazzy-class-loader/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-class-loader/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-class-loader/recipe.yaml b/recipes/ros-jazzy-class-loader/recipe.yaml
new file mode 100644
index 00000000..2c6ecdd0
--- /dev/null
+++ b/recipes/ros-jazzy-class-loader/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-class-loader
+ version: 2.7.0
+source:
+ git: https://github.com/ros2-gbp/class_loader-release.git
+ tag: release/jazzy/class_loader/2.7.0-3
+ target_directory: ros-jazzy-class-loader/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - console_bridge
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - console_bridge
+ - python
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-common-interfaces/recipe.yaml b/recipes/ros-jazzy-common-interfaces/recipe.yaml
new file mode 100644
index 00000000..e559e537
--- /dev/null
+++ b/recipes/ros-jazzy-common-interfaces/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-common-interfaces
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/common_interfaces/5.3.5-1
+ target_directory: ros-jazzy-common-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-actionlib-msgs
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-stereo-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-composition-interfaces/recipe.yaml b/recipes/ros-jazzy-composition-interfaces/recipe.yaml
new file mode 100644
index 00000000..7add5599
--- /dev/null
+++ b/recipes/ros-jazzy-composition-interfaces/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-composition-interfaces
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/composition_interfaces/2.0.2-2
+ target_directory: ros-jazzy-composition-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-composition/bld_ament_cmake.bat b/recipes/ros-jazzy-composition/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-composition/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-composition/build_ament_cmake.sh b/recipes/ros-jazzy-composition/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-composition/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-composition/recipe.yaml b/recipes/ros-jazzy-composition/recipe.yaml
new file mode 100644
index 00000000..28593656
--- /dev/null
+++ b/recipes/ros-jazzy-composition/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-composition
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/composition/0.33.5-1
+ target_directory: ros-jazzy-composition/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-compressed-depth-image-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-compressed-depth-image-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-depth-image-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-compressed-depth-image-transport/build_ament_cmake.sh b/recipes/ros-jazzy-compressed-depth-image-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-depth-image-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-compressed-depth-image-transport/recipe.yaml b/recipes/ros-jazzy-compressed-depth-image-transport/recipe.yaml
new file mode 100644
index 00000000..c069a1f3
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-depth-image-transport/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-compressed-depth-image-transport
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/image_transport_plugins-release.git
+ tag: release/jazzy/compressed_depth_image_transport/4.0.3-1
+ target_directory: ros-jazzy-compressed-depth-image-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-compressed-image-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-compressed-image-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-image-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-compressed-image-transport/build_ament_cmake.sh b/recipes/ros-jazzy-compressed-image-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-image-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-compressed-image-transport/recipe.yaml b/recipes/ros-jazzy-compressed-image-transport/recipe.yaml
new file mode 100644
index 00000000..112c391c
--- /dev/null
+++ b/recipes/ros-jazzy-compressed-image-transport/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-compressed-image-transport
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/image_transport_plugins-release.git
+ tag: release/jazzy/compressed_image_transport/4.0.3-1
+ target_directory: ros-jazzy-compressed-image-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml b/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml
new file mode 100644
index 00000000..f03dfb1e
--- /dev/null
+++ b/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-console-bridge-vendor
+ version: 1.7.1
+source:
+ git: https://github.com/ros2-gbp/console_bridge_vendor-release.git
+ tag: release/jazzy/console_bridge_vendor/1.7.1-3
+ target_directory: ros-jazzy-console-bridge-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - console_bridge
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - console_bridge
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-control-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-control-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-control-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-control-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-control-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-control-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-control-msgs/recipe.yaml b/recipes/ros-jazzy-control-msgs/recipe.yaml
new file mode 100644
index 00000000..20b1854c
--- /dev/null
+++ b/recipes/ros-jazzy-control-msgs/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-control-msgs
+ version: 5.3.0
+source:
+ git: https://github.com/ros2-gbp/control_msgs-release.git
+ tag: release/jazzy/control_msgs/5.3.0-1
+ target_directory: ros-jazzy-control-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-control-toolbox/bld_ament_cmake.bat b/recipes/ros-jazzy-control-toolbox/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-control-toolbox/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-control-toolbox/build_ament_cmake.sh b/recipes/ros-jazzy-control-toolbox/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-control-toolbox/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-control-toolbox/recipe.yaml b/recipes/ros-jazzy-control-toolbox/recipe.yaml
new file mode 100644
index 00000000..6cc22054
--- /dev/null
+++ b/recipes/ros-jazzy-control-toolbox/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-control-toolbox
+ version: 4.0.0
+source:
+ git: https://github.com/ros2-gbp/control_toolbox-release.git
+ tag: release/jazzy/control_toolbox/4.0.0-1
+ target_directory: ros-jazzy-control-toolbox/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-control-msgs
+ - ros-jazzy-filters
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-filters
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - script:
+ - cmake-package-check control_toolbox --targets control_toolbox::control_toolbox control_toolbox::rate_limiter control_toolbox::low_pass_filter
+ requirements:
+ run:
+ - cmake-package-check
+ - ${{ compiler('c') }}
+ - ${{ compiler('cxx') }}
diff --git a/recipes/ros-jazzy-controller-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-controller-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-controller-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-controller-interface/build_ament_cmake.sh b/recipes/ros-jazzy-controller-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-controller-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-controller-interface/patch/ros-jazzy-controller-interface.patch b/recipes/ros-jazzy-controller-interface/patch/ros-jazzy-controller-interface.patch
new file mode 100644
index 00000000..c03f977c
--- /dev/null
+++ b/recipes/ros-jazzy-controller-interface/patch/ros-jazzy-controller-interface.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 60b213cd5..3cb708ef9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,11 +1,6 @@
+ cmake_minimum_required(VERSION 3.16)
+ project(controller_interface LANGUAGES CXX)
+
+-if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
+- add_compile_options(-Wall -Wextra -Werror=conversion -Werror=unused-but-set-variable -Werror=return-type -Werror=shadow
+- -Werror=missing-braces)
+-endif()
+-
+ # using this instead of visibility macros
+ # S1 from https://github.com/ros-controls/ros2_controllers/issues/1053
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
diff --git a/recipes/ros-jazzy-controller-interface/recipe.yaml b/recipes/ros-jazzy-controller-interface/recipe.yaml
new file mode 100644
index 00000000..e4c34c64
--- /dev/null
+++ b/recipes/ros-jazzy-controller-interface/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-controller-interface
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/controller_interface/4.25.0-1
+ target_directory: ros-jazzy-controller-interface/src/work
+ patches:
+ - patch/ros-jazzy-controller-interface.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-controller-manager-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-controller-manager-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-controller-manager-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-controller-manager-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-controller-manager-msgs/recipe.yaml b/recipes/ros-jazzy-controller-manager-msgs/recipe.yaml
new file mode 100644
index 00000000..a9170a4b
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager-msgs/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-controller-manager-msgs
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/controller_manager_msgs/4.25.0-1
+ target_directory: ros-jazzy-controller-manager-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-controller-manager/bld_ament_cmake.bat b/recipes/ros-jazzy-controller-manager/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-controller-manager/build_ament_cmake.sh b/recipes/ros-jazzy-controller-manager/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-controller-manager/recipe.yaml b/recipes/ros-jazzy-controller-manager/recipe.yaml
new file mode 100644
index 00000000..850873c4
--- /dev/null
+++ b/recipes/ros-jazzy-controller-manager/recipe.yaml
@@ -0,0 +1,130 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-controller-manager
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/controller_manager/4.25.0-1
+ target_directory: ros-jazzy-controller-manager/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - coverage
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-libstatistics-collector
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-ros2param
+ - ros-jazzy-ros2run
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-libstatistics-collector
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-ros2param
+ - ros-jazzy-ros2run
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-costmap-queue/bld_ament_cmake.bat b/recipes/ros-jazzy-costmap-queue/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-costmap-queue/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-costmap-queue/build_ament_cmake.sh b/recipes/ros-jazzy-costmap-queue/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-costmap-queue/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-costmap-queue/recipe.yaml b/recipes/ros-jazzy-costmap-queue/recipe.yaml
new file mode 100644
index 00000000..f28d3b46
--- /dev/null
+++ b/recipes/ros-jazzy-costmap-queue/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-costmap-queue
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/costmap_queue/1.3.4-1
+ target_directory: ros-jazzy-costmap-queue/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-cv-bridge/bld_ament_cmake.bat b/recipes/ros-jazzy-cv-bridge/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-cv-bridge/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-cv-bridge/build_ament_cmake.sh b/recipes/ros-jazzy-cv-bridge/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-cv-bridge/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-cv-bridge/recipe.yaml b/recipes/ros-jazzy-cv-bridge/recipe.yaml
new file mode 100644
index 00000000..380e58f6
--- /dev/null
+++ b/recipes/ros-jazzy-cv-bridge/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-cv-bridge
+ version: 4.1.0
+source:
+ git: https://github.com/ros2-gbp/vision_opencv-release.git
+ tag: release/jazzy/cv_bridge/4.1.0-1
+ target_directory: ros-jazzy-cv-bridge/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libboost-python-devel
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libboost-python
+ - libopencv
+ - numpy
+ - py-opencv
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-cyclonedds/bld_catkin.bat b/recipes/ros-jazzy-cyclonedds/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-cyclonedds/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-cyclonedds/build_catkin.sh b/recipes/ros-jazzy-cyclonedds/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-cyclonedds/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-cyclonedds/recipe.yaml b/recipes/ros-jazzy-cyclonedds/recipe.yaml
new file mode 100644
index 00000000..bded69ea
--- /dev/null
+++ b/recipes/ros-jazzy-cyclonedds/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-cyclonedds
+ version: 0.10.5
+source:
+ git: https://github.com/ros2-gbp/cyclonedds-release.git
+ tag: release/jazzy/cyclonedds/0.10.5-1
+ target_directory: ros-jazzy-cyclonedds/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - ros-jazzy-cyclonedds
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - openssl
+ - pip
+ - python
+ - ros-jazzy-iceoryx-binding-c
+ - ros-jazzy-iceoryx-hoofs
+ - ros-jazzy-iceoryx-posh
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - openssl
+ - python
+ - ros-jazzy-iceoryx-binding-c
+ - ros-jazzy-iceoryx-hoofs
+ - ros-jazzy-iceoryx-posh
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-demo-nodes-cpp-native/bld_ament_cmake.bat b/recipes/ros-jazzy-demo-nodes-cpp-native/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp-native/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-demo-nodes-cpp-native/build_ament_cmake.sh b/recipes/ros-jazzy-demo-nodes-cpp-native/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp-native/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-demo-nodes-cpp-native/recipe.yaml b/recipes/ros-jazzy-demo-nodes-cpp-native/recipe.yaml
new file mode 100644
index 00000000..3cc4f4fd
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp-native/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-demo-nodes-cpp-native
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/demo_nodes_cpp_native/0.33.5-1
+ target_directory: ros-jazzy-demo-nodes-cpp-native/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rmw-fastrtps-cpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rmw-fastrtps-cpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-demo-nodes-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-demo-nodes-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-demo-nodes-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-demo-nodes-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-demo-nodes-cpp/recipe.yaml b/recipes/ros-jazzy-demo-nodes-cpp/recipe.yaml
new file mode 100644
index 00000000..c4fd6fa4
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-cpp/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-demo-nodes-cpp
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/demo_nodes_cpp/0.33.5-1
+ target_directory: ros-jazzy-demo-nodes-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-xml
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-demo-nodes-py/bld_ament_python.bat b/recipes/ros-jazzy-demo-nodes-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-demo-nodes-py/build_ament_python.sh b/recipes/ros-jazzy-demo-nodes-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-demo-nodes-py/recipe.yaml b/recipes/ros-jazzy-demo-nodes-py/recipe.yaml
new file mode 100644
index 00000000..1d9e1402
--- /dev/null
+++ b/recipes/ros-jazzy-demo-nodes-py/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-demo-nodes-py
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/demo_nodes_py/0.33.5-1
+ target_directory: ros-jazzy-demo-nodes-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-depth-image-proc/bld_ament_cmake.bat b/recipes/ros-jazzy-depth-image-proc/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-depth-image-proc/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-depth-image-proc/build_ament_cmake.sh b/recipes/ros-jazzy-depth-image-proc/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-depth-image-proc/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-depth-image-proc/recipe.yaml b/recipes/ros-jazzy-depth-image-proc/recipe.yaml
new file mode 100644
index 00000000..1182eaa0
--- /dev/null
+++ b/recipes/ros-jazzy-depth-image-proc/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-depth-image-proc
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/depth_image_proc/5.0.6-1
+ target_directory: ros-jazzy-depth-image-proc/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-class-loader
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-proc
+ - ros-jazzy-image-transport
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-stereo-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-proc
+ - ros-jazzy-image-transport
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-stereo-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-depthimage-to-laserscan/bld_ament_cmake.bat b/recipes/ros-jazzy-depthimage-to-laserscan/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-depthimage-to-laserscan/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-depthimage-to-laserscan/build_ament_cmake.sh b/recipes/ros-jazzy-depthimage-to-laserscan/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-depthimage-to-laserscan/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-depthimage-to-laserscan/recipe.yaml b/recipes/ros-jazzy-depthimage-to-laserscan/recipe.yaml
new file mode 100644
index 00000000..9ce6e762
--- /dev/null
+++ b/recipes/ros-jazzy-depthimage-to-laserscan/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-depthimage-to-laserscan
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/depthimage_to_laserscan-release.git
+ tag: release/jazzy/depthimage_to_laserscan/2.5.1-3
+ target_directory: ros-jazzy-depthimage-to-laserscan/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-image-geometry
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-image-geometry
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-desktop-full/bld_ament_cmake.bat b/recipes/ros-jazzy-desktop-full/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-desktop-full/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-desktop-full/build_ament_cmake.sh b/recipes/ros-jazzy-desktop-full/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-desktop-full/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-desktop-full/recipe.yaml b/recipes/ros-jazzy-desktop-full/recipe.yaml
new file mode 100644
index 00000000..93f86ce1
--- /dev/null
+++ b/recipes/ros-jazzy-desktop-full/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-desktop-full
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/desktop_full/0.11.0-1
+ target_directory: ros-jazzy-desktop-full/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-desktop
+ - ros-jazzy-perception
+ - ros-jazzy-ros-gz-sim-demos
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-simulation
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-desktop/bld_ament_cmake.bat b/recipes/ros-jazzy-desktop/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-desktop/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-desktop/build_ament_cmake.sh b/recipes/ros-jazzy-desktop/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-desktop/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-desktop/recipe.yaml b/recipes/ros-jazzy-desktop/recipe.yaml
new file mode 100644
index 00000000..384c3569
--- /dev/null
+++ b/recipes/ros-jazzy-desktop/recipe.yaml
@@ -0,0 +1,132 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-desktop
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/desktop/0.11.0-1
+ target_directory: ros-jazzy-desktop/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-tutorials-cpp
+ - ros-jazzy-action-tutorials-interfaces
+ - ros-jazzy-action-tutorials-py
+ - ros-jazzy-angles
+ - ros-jazzy-composition
+ - ros-jazzy-demo-nodes-cpp
+ - ros-jazzy-demo-nodes-cpp-native
+ - ros-jazzy-demo-nodes-py
+ - ros-jazzy-depthimage-to-laserscan
+ - ros-jazzy-dummy-map-server
+ - ros-jazzy-dummy-robot-bringup
+ - ros-jazzy-dummy-sensors
+ - ros-jazzy-examples-rclcpp-minimal-action-client
+ - ros-jazzy-examples-rclcpp-minimal-action-server
+ - ros-jazzy-examples-rclcpp-minimal-client
+ - ros-jazzy-examples-rclcpp-minimal-composition
+ - ros-jazzy-examples-rclcpp-minimal-publisher
+ - ros-jazzy-examples-rclcpp-minimal-service
+ - ros-jazzy-examples-rclcpp-minimal-subscriber
+ - ros-jazzy-examples-rclcpp-minimal-timer
+ - ros-jazzy-examples-rclcpp-multithreaded-executor
+ - ros-jazzy-examples-rclpy-executors
+ - ros-jazzy-examples-rclpy-minimal-action-client
+ - ros-jazzy-examples-rclpy-minimal-action-server
+ - ros-jazzy-examples-rclpy-minimal-client
+ - ros-jazzy-examples-rclpy-minimal-publisher
+ - ros-jazzy-examples-rclpy-minimal-service
+ - ros-jazzy-examples-rclpy-minimal-subscriber
+ - ros-jazzy-image-tools
+ - ros-jazzy-intra-process-demo
+ - ros-jazzy-joy
+ - ros-jazzy-lifecycle
+ - ros-jazzy-logging-demo
+ - ros-jazzy-pcl-conversions
+ - ros-jazzy-pendulum-control
+ - ros-jazzy-pendulum-msgs
+ - ros-jazzy-quality-of-service-demo-cpp
+ - ros-jazzy-quality-of-service-demo-py
+ - ros-jazzy-ros-base
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-common-plugins
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz2
+ - ros-jazzy-teleop-twist-joy
+ - ros-jazzy-teleop-twist-keyboard
+ - ros-jazzy-tlsf
+ - ros-jazzy-tlsf-cpp
+ - ros-jazzy-topic-monitor
+ - ros-jazzy-turtlesim
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diagnostic-aggregator/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostic-aggregator/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-aggregator/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diagnostic-aggregator/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostic-aggregator/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-aggregator/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diagnostic-aggregator/recipe.yaml b/recipes/ros-jazzy-diagnostic-aggregator/recipe.yaml
new file mode 100644
index 00000000..17cfa279
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-aggregator/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diagnostic-aggregator
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/diagnostics-release.git
+ tag: release/jazzy/diagnostic_aggregator/4.2.1-1
+ target_directory: ros-jazzy-diagnostic-aggregator/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-launch-pytest
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diagnostic-common-diagnostics/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostic-common-diagnostics/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-common-diagnostics/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diagnostic-common-diagnostics/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostic-common-diagnostics/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-common-diagnostics/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diagnostic-common-diagnostics/recipe.yaml b/recipes/ros-jazzy-diagnostic-common-diagnostics/recipe.yaml
new file mode 100644
index 00000000..d4d42fd7
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-common-diagnostics/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diagnostic-common-diagnostics
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/diagnostics-release.git
+ tag: release/jazzy/diagnostic_common_diagnostics/4.2.1-1
+ target_directory: ros-jazzy-diagnostic-common-diagnostics/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - psutil
+ - python
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml b/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml
new file mode 100644
index 00000000..5d71ee38
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diagnostic-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/diagnostic_msgs/5.3.5-1
+ target_directory: ros-jazzy-diagnostic-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diagnostic-updater/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostic-updater/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-updater/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diagnostic-updater/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostic-updater/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-updater/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diagnostic-updater/recipe.yaml b/recipes/ros-jazzy-diagnostic-updater/recipe.yaml
new file mode 100644
index 00000000..3548f383
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostic-updater/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diagnostic-updater
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/diagnostics-release.git
+ tag: release/jazzy/diagnostic_updater/4.2.1-1
+ target_directory: ros-jazzy-diagnostic-updater/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diagnostics/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostics/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostics/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diagnostics/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostics/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostics/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diagnostics/recipe.yaml b/recipes/ros-jazzy-diagnostics/recipe.yaml
new file mode 100644
index 00000000..4ddc5b08
--- /dev/null
+++ b/recipes/ros-jazzy-diagnostics/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diagnostics
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/diagnostics-release.git
+ tag: release/jazzy/diagnostics/4.2.1-1
+ target_directory: ros-jazzy-diagnostics/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-diagnostic-aggregator
+ - ros-jazzy-diagnostic-common-diagnostics
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-self-test
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-diff-drive-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-diff-drive-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-diff-drive-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-diff-drive-controller/build_ament_cmake.sh b/recipes/ros-jazzy-diff-drive-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-diff-drive-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-diff-drive-controller/recipe.yaml b/recipes/ros-jazzy-diff-drive-controller/recipe.yaml
new file mode 100644
index 00000000..20fc8573
--- /dev/null
+++ b/recipes/ros-jazzy-diff-drive-controller/recipe.yaml
@@ -0,0 +1,115 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-diff-drive-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/diff_drive_controller/4.20.0-1
+ target_directory: ros-jazzy-diff-drive-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-domain-coordinator/bld_ament_python.bat b/recipes/ros-jazzy-domain-coordinator/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-domain-coordinator/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-domain-coordinator/build_ament_python.sh b/recipes/ros-jazzy-domain-coordinator/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-domain-coordinator/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-domain-coordinator/recipe.yaml b/recipes/ros-jazzy-domain-coordinator/recipe.yaml
new file mode 100644
index 00000000..12b298cb
--- /dev/null
+++ b/recipes/ros-jazzy-domain-coordinator/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-domain-coordinator
+ version: 0.12.0
+source:
+ git: https://github.com/ros2-gbp/ament_cmake_ros-release.git
+ tag: release/jazzy/domain_coordinator/0.12.0-3
+ target_directory: ros-jazzy-domain-coordinator/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dummy-map-server/bld_ament_cmake.bat b/recipes/ros-jazzy-dummy-map-server/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-map-server/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dummy-map-server/build_ament_cmake.sh b/recipes/ros-jazzy-dummy-map-server/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-map-server/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dummy-map-server/recipe.yaml b/recipes/ros-jazzy-dummy-map-server/recipe.yaml
new file mode 100644
index 00000000..9796f607
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-map-server/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dummy-map-server
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/dummy_map_server/0.33.5-1
+ target_directory: ros-jazzy-dummy-map-server/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dummy-robot-bringup/bld_ament_cmake.bat b/recipes/ros-jazzy-dummy-robot-bringup/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-robot-bringup/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dummy-robot-bringup/build_ament_cmake.sh b/recipes/ros-jazzy-dummy-robot-bringup/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-robot-bringup/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dummy-robot-bringup/recipe.yaml b/recipes/ros-jazzy-dummy-robot-bringup/recipe.yaml
new file mode 100644
index 00000000..5dc7b493
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-robot-bringup/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dummy-robot-bringup
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/dummy_robot_bringup/0.33.5-1
+ target_directory: ros-jazzy-dummy-robot-bringup/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-dummy-map-server
+ - ros-jazzy-dummy-sensors
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dummy-sensors/bld_ament_cmake.bat b/recipes/ros-jazzy-dummy-sensors/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-sensors/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dummy-sensors/build_ament_cmake.sh b/recipes/ros-jazzy-dummy-sensors/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-sensors/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dummy-sensors/recipe.yaml b/recipes/ros-jazzy-dummy-sensors/recipe.yaml
new file mode 100644
index 00000000..984a5055
--- /dev/null
+++ b/recipes/ros-jazzy-dummy-sensors/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dummy-sensors
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/dummy_sensors/0.33.5-1
+ target_directory: ros-jazzy-dummy-sensors/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dwb-core/bld_ament_cmake.bat b/recipes/ros-jazzy-dwb-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dwb-core/build_ament_cmake.sh b/recipes/ros-jazzy-dwb-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dwb-core/recipe.yaml b/recipes/ros-jazzy-dwb-core/recipe.yaml
new file mode 100644
index 00000000..80664a9f
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-core/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dwb-core
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/dwb_core/1.3.4-1
+ target_directory: ros-jazzy-dwb-core/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-dwb-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-dwb-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dwb-critics/bld_ament_cmake.bat b/recipes/ros-jazzy-dwb-critics/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-critics/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dwb-critics/build_ament_cmake.sh b/recipes/ros-jazzy-dwb-critics/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-critics/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dwb-critics/recipe.yaml b/recipes/ros-jazzy-dwb-critics/recipe.yaml
new file mode 100644
index 00000000..27859264
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-critics/recipe.yaml
@@ -0,0 +1,110 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dwb-critics
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/dwb_critics/1.3.4-1
+ target_directory: ros-jazzy-dwb-critics/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-costmap-queue
+ - ros-jazzy-dwb-core
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-costmap-queue
+ - ros-jazzy-dwb-core
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dwb-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-dwb-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dwb-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-dwb-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dwb-msgs/recipe.yaml b/recipes/ros-jazzy-dwb-msgs/recipe.yaml
new file mode 100644
index 00000000..291c3b81
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-msgs/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dwb-msgs
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/dwb_msgs/1.3.4-1
+ target_directory: ros-jazzy-dwb-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-dwb-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-dwb-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-dwb-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-dwb-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-dwb-plugins/recipe.yaml b/recipes/ros-jazzy-dwb-plugins/recipe.yaml
new file mode 100644
index 00000000..83c75ecb
--- /dev/null
+++ b/recipes/ros-jazzy-dwb-plugins/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-dwb-plugins
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/dwb_plugins/1.3.4-1
+ target_directory: ros-jazzy-dwb-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-dwb-core
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-dwb-core
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-effort-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-effort-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-effort-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-effort-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-effort-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-effort-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-effort-controllers/recipe.yaml b/recipes/ros-jazzy-effort-controllers/recipe.yaml
new file mode 100644
index 00000000..3972cd21
--- /dev/null
+++ b/recipes/ros-jazzy-effort-controllers/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-effort-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/effort_controllers/4.20.0-1
+ target_directory: ros-jazzy-effort-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-manager
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-eigen-stl-containers/bld_ament_cmake.bat b/recipes/ros-jazzy-eigen-stl-containers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-eigen-stl-containers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-eigen-stl-containers/build_ament_cmake.sh b/recipes/ros-jazzy-eigen-stl-containers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-eigen-stl-containers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-eigen-stl-containers/recipe.yaml b/recipes/ros-jazzy-eigen-stl-containers/recipe.yaml
new file mode 100644
index 00000000..5062016f
--- /dev/null
+++ b/recipes/ros-jazzy-eigen-stl-containers/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-eigen-stl-containers
+ version: 1.1.0
+source:
+ git: https://github.com/ros2-gbp/eigen_stl_containers-release.git
+ tag: release/jazzy/eigen_stl_containers/1.1.0-1
+ target_directory: ros-jazzy-eigen-stl-containers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml b/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml
new file mode 100644
index 00000000..119ced0a
--- /dev/null
+++ b/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-eigen3-cmake-module
+ version: 0.3.0
+source:
+ git: https://github.com/ros2-gbp/eigen3_cmake_module-release.git
+ tag: release/jazzy/eigen3_cmake_module/0.3.0-3
+ target_directory: ros-jazzy-eigen3-cmake-module/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-example-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-example-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-example-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-example-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-example-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-example-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-example-interfaces/recipe.yaml b/recipes/ros-jazzy-example-interfaces/recipe.yaml
new file mode 100644
index 00000000..60fac65a
--- /dev/null
+++ b/recipes/ros-jazzy-example-interfaces/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-example-interfaces
+ version: 0.12.0
+source:
+ git: https://github.com/ros2-gbp/example_interfaces-release.git
+ tag: release/jazzy/example_interfaces/0.12.0-3
+ target_directory: ros-jazzy-example-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/recipe.yaml
new file mode 100644
index 00000000..6bf7e3ef
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-client/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-action-client
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_action_client/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-action-client/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/recipe.yaml
new file mode 100644
index 00000000..6cee29bb
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-action-server/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-action-server
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_action_server/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-action-server/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-client/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-client/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-client/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-client/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-client/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-client/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-client/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-client/recipe.yaml
new file mode 100644
index 00000000..7851dadc
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-client/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-client
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_client/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-client/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-composition/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-composition/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-composition/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/recipe.yaml
new file mode 100644
index 00000000..5f3b7efd
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-composition/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-composition
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_composition/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-composition/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/recipe.yaml
new file mode 100644
index 00000000..240615cd
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-publisher/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-publisher
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_publisher/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-service/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-service/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-service/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-service/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-service/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-service/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-service/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-service/recipe.yaml
new file mode 100644
index 00000000..0b2f7875
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-service/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-service
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_service/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-service/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/recipe.yaml
new file mode 100644
index 00000000..796d8349
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-subscriber/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-subscriber
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_subscriber/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-subscriber/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-timer/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-timer/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-minimal-timer/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/recipe.yaml
new file mode 100644
index 00000000..006c2699
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-minimal-timer/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-minimal-timer
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_minimal_timer/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-minimal-timer/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/bld_ament_cmake.bat b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/build_ament_cmake.sh b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/recipe.yaml b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/recipe.yaml
new file mode 100644
index 00000000..61160f9b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclcpp-multithreaded-executor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclcpp-multithreaded-executor
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclcpp_multithreaded_executor/0.19.4-1
+ target_directory: ros-jazzy-examples-rclcpp-multithreaded-executor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-executors/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-executors/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-executors/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-executors/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-executors/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-executors/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-executors/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-executors/recipe.yaml
new file mode 100644
index 00000000..8e7e2962
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-executors/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-executors
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_executors/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-executors/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-client/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-client/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-client/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/recipe.yaml
new file mode 100644
index 00000000..83a71ec7
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-client/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-action-client
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_action_client/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-action-client/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-server/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-server/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-action-server/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/recipe.yaml
new file mode 100644
index 00000000..ca6e8ef5
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-action-server/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-action-server
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_action_server/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-action-server/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-client/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-client/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-client/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-client/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-client/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-client/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-client/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-client/recipe.yaml
new file mode 100644
index 00000000..e7da65f1
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-client/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-client
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_client/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-client/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-publisher/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-publisher/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-publisher/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/recipe.yaml
new file mode 100644
index 00000000..9cc4adf0
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-publisher/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-publisher
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_publisher/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-service/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-service/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-service/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-service/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-service/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-service/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-service/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-service/recipe.yaml
new file mode 100644
index 00000000..b3629834
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-service/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-service
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_service/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-service/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/bld_ament_python.bat b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/build_ament_python.sh b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/recipe.yaml b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/recipe.yaml
new file mode 100644
index 00000000..d30a2d7c
--- /dev/null
+++ b/recipes/ros-jazzy-examples-rclpy-minimal-subscriber/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-examples-rclpy-minimal-subscriber
+ version: 0.19.4
+source:
+ git: https://github.com/ros2-gbp/examples-release.git
+ tag: release/jazzy/examples_rclpy_minimal_subscriber/0.19.4-1
+ target_directory: ros-jazzy-examples-rclpy-minimal-subscriber/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-fastcdr/bld_catkin.bat b/recipes/ros-jazzy-fastcdr/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-fastcdr/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-fastcdr/build_catkin.sh b/recipes/ros-jazzy-fastcdr/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-fastcdr/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-fastcdr/recipe.yaml b/recipes/ros-jazzy-fastcdr/recipe.yaml
new file mode 100644
index 00000000..9a6fabe3
--- /dev/null
+++ b/recipes/ros-jazzy-fastcdr/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-fastcdr
+ version: 2.2.5
+source:
+ git: https://github.com/ros2-gbp/fastcdr-release.git
+ tag: release/jazzy/fastcdr/2.2.5-1
+ target_directory: ros-jazzy-fastcdr/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml b/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml
new file mode 100644
index 00000000..8740155b
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-fastrtps-cmake-module
+ version: 3.6.1
+source:
+ git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git
+ tag: release/jazzy/fastrtps_cmake_module/3.6.1-1
+ target_directory: ros-jazzy-fastrtps-cmake-module/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-fastrtps/bld_catkin.bat b/recipes/ros-jazzy-fastrtps/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-fastrtps/build_catkin.sh b/recipes/ros-jazzy-fastrtps/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch b/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch
new file mode 100644
index 00000000..0a014c8e
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch
@@ -0,0 +1,43 @@
+From 72ccfb186d93c3f7ba59c30fa2b05bddd31a3432 Mon Sep 17 00:00:00 2001
+From: Wade Hunkapiller
+Date: Fri, 15 Mar 2024 11:11:09 -0500
+Subject: [PATCH] Add gettid() macro to address GLIBC version comptability
+ (#4225)
+
+Signed-off-by: Wade Hunkapiller
+---
+ src/cpp/utils/threading/threading_pthread.ipp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/cpp/utils/threading/threading_pthread.ipp b/src/cpp/utils/threading/threading_pthread.ipp
+index 75ad33f2d64..252f60c775a 100644
+--- a/src/cpp/utils/threading/threading_pthread.ipp
++++ b/src/cpp/utils/threading/threading_pthread.ipp
+@@ -25,6 +25,14 @@
+ #include
+ #include
+
++#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ <= 30)))
++ #include
++ #ifndef SYS_gettid
++ #error "SYS_gettid unavailable on this system"
++ #endif
++ #define gettid() ((pid_t)syscall(SYS_gettid))
++#endif
++
+ namespace eprosima {
+
+ template
+diff --git a/tools/fds/CMakeLists.txt b/tools/fds/CMakeLists.txt
+index 899fe693..f1e7e37d 100644
+--- a/tools/fds/CMakeLists.txt
++++ b/tools/fds/CMakeLists.txt
+@@ -116,7 +116,7 @@ install(EXPORT ${PROJECT_NAME}-targets
+ if( WIN32 )
+ # Use powershell to generate the link
+ install(
+- CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType SymbolicLink -Target $ -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()"
++ CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType HardLink -Target $ -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()"
+ COMPONENT discovery)
+ else()
+ # Use ln to create the symbolic link. We remove the version from the file name but keep the debug suffix
diff --git a/recipes/ros-jazzy-fastrtps/recipe.yaml b/recipes/ros-jazzy-fastrtps/recipe.yaml
new file mode 100644
index 00000000..fa71eba1
--- /dev/null
+++ b/recipes/ros-jazzy-fastrtps/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-fastrtps
+ version: 2.14.4
+source:
+ git: https://github.com/ros2-gbp/fastrtps-release.git
+ tag: release/jazzy/fastrtps/2.14.4-1
+ target_directory: ros-jazzy-fastrtps/src/work
+ patches:
+ - patch/ros-jazzy-fastrtps.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - asio
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - openssl
+ - pip
+ - python
+ - ros-jazzy-fastcdr
+ - ros-jazzy-foonathan-memory-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ run:
+ - openssl
+ - python
+ - ros-jazzy-fastcdr
+ - ros-jazzy-foonathan-memory-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-filters/bld_ament_cmake.bat b/recipes/ros-jazzy-filters/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-filters/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-filters/build_ament_cmake.sh b/recipes/ros-jazzy-filters/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-filters/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-filters/recipe.yaml b/recipes/ros-jazzy-filters/recipe.yaml
new file mode 100644
index 00000000..d70a6e0e
--- /dev/null
+++ b/recipes/ros-jazzy-filters/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-filters
+ version: 2.1.2
+source:
+ git: https://github.com/ros2-gbp/filters-release.git
+ tag: release/jazzy/filters/2.1.2-2
+ target_directory: ros-jazzy-filters/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libboost-devel
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-flex-sync/bld_ament_cmake.bat b/recipes/ros-jazzy-flex-sync/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-flex-sync/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-flex-sync/build_ament_cmake.sh b/recipes/ros-jazzy-flex-sync/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-flex-sync/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-flex-sync/recipe.yaml b/recipes/ros-jazzy-flex-sync/recipe.yaml
new file mode 100644
index 00000000..a8a1e900
--- /dev/null
+++ b/recipes/ros-jazzy-flex-sync/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-flex-sync
+ version: 2.0.0
+source:
+ git: https://github.com/ros2-gbp/flex_sync-release.git
+ tag: release/jazzy/flex_sync/2.0.0-1
+ target_directory: ros-jazzy-flex-sync/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-clang-format
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-clang-format
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-clang-format
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat b/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh b/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml b/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml
new file mode 100644
index 00000000..43b9e5a6
--- /dev/null
+++ b/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-foonathan-memory-vendor
+ version: 1.3.1
+source:
+ git: https://github.com/ros2-gbp/foonathan_memory_vendor-release.git
+ tag: release/jazzy/foonathan_memory_vendor/1.3.1-3
+ target_directory: ros-jazzy-foonathan-memory-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - foonathan-memory
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - cmake
+ - foonathan-memory
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-force-torque-sensor-broadcaster/bld_ament_cmake.bat b/recipes/ros-jazzy-force-torque-sensor-broadcaster/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-force-torque-sensor-broadcaster/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-force-torque-sensor-broadcaster/build_ament_cmake.sh b/recipes/ros-jazzy-force-torque-sensor-broadcaster/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-force-torque-sensor-broadcaster/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-force-torque-sensor-broadcaster/recipe.yaml b/recipes/ros-jazzy-force-torque-sensor-broadcaster/recipe.yaml
new file mode 100644
index 00000000..9a961592
--- /dev/null
+++ b/recipes/ros-jazzy-force-torque-sensor-broadcaster/recipe.yaml
@@ -0,0 +1,108 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-force-torque-sensor-broadcaster
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/force_torque_sensor_broadcaster/4.20.0-1
+ target_directory: ros-jazzy-force-torque-sensor-broadcaster/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - jinja2
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - typeguard
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-forward-command-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-forward-command-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-forward-command-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-forward-command-controller/build_ament_cmake.sh b/recipes/ros-jazzy-forward-command-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-forward-command-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-forward-command-controller/recipe.yaml b/recipes/ros-jazzy-forward-command-controller/recipe.yaml
new file mode 100644
index 00000000..adc9536e
--- /dev/null
+++ b/recipes/ros-jazzy-forward-command-controller/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-forward-command-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/forward_command_controller/4.20.0-1
+ target_directory: ros-jazzy-forward-command-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-generate-parameter-library-py/bld_ament_python.bat b/recipes/ros-jazzy-generate-parameter-library-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-generate-parameter-library-py/build_ament_python.sh b/recipes/ros-jazzy-generate-parameter-library-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-generate-parameter-library-py/recipe.yaml b/recipes/ros-jazzy-generate-parameter-library-py/recipe.yaml
new file mode 100644
index 00000000..af10b658
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library-py/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-generate-parameter-library-py
+ version: 0.4.0
+source:
+ git: https://github.com/ros2-gbp/generate_parameter_library-release.git
+ tag: release/jazzy/generate_parameter_library_py/0.4.0-1
+ target_directory: ros-jazzy-generate-parameter-library-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - jinja2
+ - numpy
+ - pip
+ - pytest
+ - python
+ - pyyaml
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ - typeguard
+ run:
+ - jinja2
+ - python
+ - pyyaml
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - typeguard
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-generate-parameter-library/bld_ament_cmake.bat b/recipes/ros-jazzy-generate-parameter-library/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-generate-parameter-library/build_ament_cmake.sh b/recipes/ros-jazzy-generate-parameter-library/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-generate-parameter-library/recipe.yaml b/recipes/ros-jazzy-generate-parameter-library/recipe.yaml
new file mode 100644
index 00000000..81838ec3
--- /dev/null
+++ b/recipes/ros-jazzy-generate-parameter-library/recipe.yaml
@@ -0,0 +1,105 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-generate-parameter-library
+ version: 0.4.0
+source:
+ git: https://github.com/ros2-gbp/generate_parameter_library-release.git
+ tag: release/jazzy/generate_parameter_library/0.4.0-1
+ target_directory: ros-jazzy-generate-parameter-library/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-generate-parameter-library-py
+ - ros-jazzy-parameter-traits
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - fmt
+ - python
+ - ros-jazzy-generate-parameter-library-py
+ - ros-jazzy-parameter-traits
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-geographic-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-geographic-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-geographic-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-geographic-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-geographic-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-geographic-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-geographic-msgs/recipe.yaml b/recipes/ros-jazzy-geographic-msgs/recipe.yaml
new file mode 100644
index 00000000..51b58604
--- /dev/null
+++ b/recipes/ros-jazzy-geographic-msgs/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-geographic-msgs
+ version: 1.0.6
+source:
+ git: https://github.com/ros2-gbp/geographic_info-release.git
+ tag: release/jazzy/geographic_msgs/1.0.6-2
+ target_directory: ros-jazzy-geographic-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-geometric-shapes/bld_ament_cmake.bat b/recipes/ros-jazzy-geometric-shapes/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-geometric-shapes/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-geometric-shapes/build_ament_cmake.sh b/recipes/ros-jazzy-geometric-shapes/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-geometric-shapes/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-geometric-shapes/patch/ros-jazzy-geometric-shapes.patch b/recipes/ros-jazzy-geometric-shapes/patch/ros-jazzy-geometric-shapes.patch
new file mode 100644
index 00000000..d9887372
--- /dev/null
+++ b/recipes/ros-jazzy-geometric-shapes/patch/ros-jazzy-geometric-shapes.patch
@@ -0,0 +1,22 @@
+From d236b8e9172705076e1c0aba34940307a925d3e2 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro
+Date: Wed, 18 Dec 2024 13:50:38 +0100
+Subject: [PATCH] Drop apt-specific workaround on the octomap version
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8c46189..277356c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,7 +45,7 @@ find_package(eigen_stl_containers REQUIRED)
+ find_package(geometry_msgs REQUIRED)
+ # Enforce the system package version on Ubuntu jammy and noble which is also used by libfcl-dev
+ # The version is fixed to prevent ABI conflicts with ros-octomap
+-find_package(octomap 1.9.7...<1.10.0 REQUIRED)
++find_package(octomap REQUIRED)
+ find_package(QHULL REQUIRED)
+ find_package(random_numbers REQUIRED)
+ find_package(rclcpp REQUIRED)
diff --git a/recipes/ros-jazzy-geometric-shapes/recipe.yaml b/recipes/ros-jazzy-geometric-shapes/recipe.yaml
new file mode 100644
index 00000000..1b1a37c1
--- /dev/null
+++ b/recipes/ros-jazzy-geometric-shapes/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-geometric-shapes
+ version: 2.3.2
+source:
+ git: https://github.com/ros2-gbp/geometric_shapes-release.git
+ tag: release/jazzy/geometric_shapes/2.3.2-1
+ target_directory: ros-jazzy-geometric-shapes/src/work
+ patches:
+ - patch/ros-jazzy-geometric-shapes.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - fcl
+ - libboost-devel
+ - numpy
+ - octomap
+ - pip
+ - pkg-config
+ - python
+ - qhull
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-random-numbers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - assimp
+ - eigen
+ - libboost
+ - libboost-devel
+ - python
+ - qhull
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-random-numbers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-geometry-msgs/recipe.yaml b/recipes/ros-jazzy-geometry-msgs/recipe.yaml
new file mode 100644
index 00000000..20bfe234
--- /dev/null
+++ b/recipes/ros-jazzy-geometry-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-geometry-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/geometry_msgs/5.3.5-1
+ target_directory: ros-jazzy-geometry-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat b/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-geometry2/build_ament_cmake.sh b/recipes/ros-jazzy-geometry2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-geometry2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-geometry2/recipe.yaml b/recipes/ros-jazzy-geometry2/recipe.yaml
new file mode 100644
index 00000000..84d844ac
--- /dev/null
+++ b/recipes/ros-jazzy-geometry2/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-geometry2
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/geometry2/0.36.8-1
+ target_directory: ros-jazzy-geometry2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-bullet
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-eigen-kdl
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-py
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-sensor-msgs
+ - ros-jazzy-tf2-tools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gmock-vendor/bld_catkin.bat b/recipes/ros-jazzy-gmock-vendor/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-gmock-vendor/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-gmock-vendor/build_catkin.sh b/recipes/ros-jazzy-gmock-vendor/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-gmock-vendor/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-gmock-vendor/recipe.yaml b/recipes/ros-jazzy-gmock-vendor/recipe.yaml
new file mode 100644
index 00000000..ccd54823
--- /dev/null
+++ b/recipes/ros-jazzy-gmock-vendor/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gmock-vendor
+ version: 1.14.9000
+source:
+ git: https://github.com/ros2-gbp/googletest-release.git
+ tag: release/jazzy/gmock_vendor/1.14.9000-2
+ target_directory: ros-jazzy-gmock-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-gtest-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-gtest-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-google-benchmark-vendor/bld_catkin.bat b/recipes/ros-jazzy-google-benchmark-vendor/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-google-benchmark-vendor/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-google-benchmark-vendor/build_catkin.sh b/recipes/ros-jazzy-google-benchmark-vendor/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-google-benchmark-vendor/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-google-benchmark-vendor/recipe.yaml b/recipes/ros-jazzy-google-benchmark-vendor/recipe.yaml
new file mode 100644
index 00000000..5d79f4fd
--- /dev/null
+++ b/recipes/ros-jazzy-google-benchmark-vendor/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-google-benchmark-vendor
+ version: 0.5.0
+source:
+ git: https://github.com/ros2-gbp/google_benchmark_vendor-release.git
+ tag: release/jazzy/google_benchmark_vendor/0.5.0-2
+ target_directory: ros-jazzy-google-benchmark-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - benchmark
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - benchmark
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gpio-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-gpio-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gpio-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gpio-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-gpio-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gpio-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gpio-controllers/recipe.yaml b/recipes/ros-jazzy-gpio-controllers/recipe.yaml
new file mode 100644
index 00000000..7c6088e9
--- /dev/null
+++ b/recipes/ros-jazzy-gpio-controllers/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gpio-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/gpio_controllers/4.20.0-1
+ target_directory: ros-jazzy-gpio-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gps-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-gps-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gps-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gps-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-gps-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gps-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gps-msgs/recipe.yaml b/recipes/ros-jazzy-gps-msgs/recipe.yaml
new file mode 100644
index 00000000..888c6722
--- /dev/null
+++ b/recipes/ros-jazzy-gps-msgs/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gps-msgs
+ version: 2.0.4
+source:
+ git: https://github.com/ros2-gbp/gps_umd-release.git
+ tag: release/jazzy/gps_msgs/2.0.4-1
+ target_directory: ros-jazzy-gps-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-graph-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-graph-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-graph-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-graph-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-graph-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-graph-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-graph-msgs/recipe.yaml b/recipes/ros-jazzy-graph-msgs/recipe.yaml
new file mode 100644
index 00000000..057f1b86
--- /dev/null
+++ b/recipes/ros-jazzy-graph-msgs/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-graph-msgs
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/graph_msgs-release.git
+ tag: release/jazzy/graph_msgs/0.2.0-6
+ target_directory: ros-jazzy-graph-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gripper-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-gripper-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gripper-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gripper-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-gripper-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gripper-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gripper-controllers/recipe.yaml b/recipes/ros-jazzy-gripper-controllers/recipe.yaml
new file mode 100644
index 00000000..098ee2de
--- /dev/null
+++ b/recipes/ros-jazzy-gripper-controllers/recipe.yaml
@@ -0,0 +1,108 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gripper-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/gripper_controllers/4.20.0-1
+ target_directory: ros-jazzy-gripper-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gtest-vendor/bld_catkin.bat b/recipes/ros-jazzy-gtest-vendor/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-gtest-vendor/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-gtest-vendor/build_catkin.sh b/recipes/ros-jazzy-gtest-vendor/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-gtest-vendor/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-gtest-vendor/recipe.yaml b/recipes/ros-jazzy-gtest-vendor/recipe.yaml
new file mode 100644
index 00000000..0bc5d685
--- /dev/null
+++ b/recipes/ros-jazzy-gtest-vendor/recipe.yaml
@@ -0,0 +1,83 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gtest-vendor
+ version: 1.14.9000
+source:
+ git: https://github.com/ros2-gbp/googletest-release.git
+ tag: release/jazzy/gtest_vendor/1.14.9000-2
+ target_directory: ros-jazzy-gtest-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gtsam/bld_catkin.bat b/recipes/ros-jazzy-gtsam/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-gtsam/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-gtsam/build_catkin.sh b/recipes/ros-jazzy-gtsam/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-gtsam/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-gtsam/recipe.yaml b/recipes/ros-jazzy-gtsam/recipe.yaml
new file mode 100644
index 00000000..a1298393
--- /dev/null
+++ b/recipes/ros-jazzy-gtsam/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gtsam
+ version: 4.2.0
+source:
+ git: https://github.com/ros2-gbp/gtsam-release.git
+ tag: release/jazzy/gtsam/4.2.0-4
+ target_directory: ros-jazzy-gtsam/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tbb
+ - tbb-devel
+ run:
+ - eigen
+ - libboost-devel
+ - libboost-python-devel
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tbb
+ - tbb-devel
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-cmake-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-cmake-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-cmake-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-cmake-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-cmake-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-cmake-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-cmake-vendor/patch/ros-jazzy-gz-cmake-vendor.patch b/recipes/ros-jazzy-gz-cmake-vendor/patch/ros-jazzy-gz-cmake-vendor.patch
new file mode 100644
index 00000000..30b3d86b
--- /dev/null
+++ b/recipes/ros-jazzy-gz-cmake-vendor/patch/ros-jazzy-gz-cmake-vendor.patch
@@ -0,0 +1,8 @@
+diff --git a/gz_cmake_vendor-extras.cmake.in b/gz_cmake_vendor-extras.cmake.in
+index d490202..7dc00ea 100644
+--- a/gz_cmake_vendor-extras.cmake.in
++++ b/gz_cmake_vendor-extras.cmake.in
+@@ -1 +1,3 @@
++set(ENV{GZ_RELAX_VERSION_MATCH} "True")
++set(AMENT_VENDOR_NEVER_VENDOR ON)
+ list(PREPEND CMAKE_PREFIX_PATH "@CMAKE_INSTALL_PREFIX@/opt/@PROJECT_NAME@/extra_cmake")
diff --git a/recipes/ros-jazzy-gz-cmake-vendor/recipe.yaml b/recipes/ros-jazzy-gz-cmake-vendor/recipe.yaml
new file mode 100644
index 00000000..b7604419
--- /dev/null
+++ b/recipes/ros-jazzy-gz-cmake-vendor/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-cmake-vendor
+ version: 0.0.8
+source:
+ git: https://github.com/ros2-gbp/gz_cmake_vendor-release.git
+ tag: release/jazzy/gz_cmake_vendor/0.0.8-1
+ target_directory: ros-jazzy-gz-cmake-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-cmake-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cmake
+ - gz-cmake3
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gz-cmake3
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-common-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-common-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-common-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-common-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-common-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-common-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-common-vendor/patch/ros-jazzy-gz-common-vendor.patch b/recipes/ros-jazzy-gz-common-vendor/patch/ros-jazzy-gz-common-vendor.patch
new file mode 100644
index 00000000..27ebba91
--- /dev/null
+++ b/recipes/ros-jazzy-gz-common-vendor/patch/ros-jazzy-gz-common-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 34a9d3c..b9af25c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-common-vendor/recipe.yaml b/recipes/ros-jazzy-gz-common-vendor/recipe.yaml
new file mode 100644
index 00000000..35836dd9
--- /dev/null
+++ b/recipes/ros-jazzy-gz-common-vendor/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-common-vendor
+ version: 0.0.7
+source:
+ git: https://github.com/ros2-gbp/gz_common_vendor-release.git
+ tag: release/jazzy/gz_common_vendor/0.0.7-1
+ target_directory: ros-jazzy-gz-common-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-common-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - ffmpeg
+ - freeimage
+ - gts
+ - gz-common5
+ - libgdal
+ - libuuid
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ run:
+ - assimp
+ - ffmpeg
+ - freeimage
+ - gts
+ - gz-common5
+ - libgdal
+ - libuuid
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-dartsim-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-dartsim-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-dartsim-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-dartsim-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-dartsim-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-dartsim-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-dartsim-vendor/patch/ros-jazzy-gz-dartsim-vendor.patch b/recipes/ros-jazzy-gz-dartsim-vendor/patch/ros-jazzy-gz-dartsim-vendor.patch
new file mode 100644
index 00000000..7e1f8c69
--- /dev/null
+++ b/recipes/ros-jazzy-gz-dartsim-vendor/patch/ros-jazzy-gz-dartsim-vendor.patch
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 77ca936..5decd53 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,7 +25,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(DART ${VERSION_MATCH} ${LIB_VER_MAJOR}.${LIB_VER_MINOR}
++find_package(DART
+ CONFIG
+ COMPONENTS
+ collision-bullet
+@@ -35,6 +35,9 @@ find_package(DART ${VERSION_MATCH} ${LIB_VER_MAJOR}.${LIB_VER_MINOR}
+ QUIET
+ )
+
++# Hack
++set(DART_FOUND TRUE)
++
+ ament_vendor(${PROJECT_NAME}
+ SATISFIED ${DART_FOUND}
+ VCS_URL https://github.com/dartsim/dart.git
diff --git a/recipes/ros-jazzy-gz-dartsim-vendor/recipe.yaml b/recipes/ros-jazzy-gz-dartsim-vendor/recipe.yaml
new file mode 100644
index 00000000..afd73db0
--- /dev/null
+++ b/recipes/ros-jazzy-gz-dartsim-vendor/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-dartsim-vendor
+ version: 0.0.3
+source:
+ git: https://github.com/ros2-gbp/gz_dartsim_vendor-release.git
+ tag: release/jazzy/gz_dartsim_vendor/0.0.3-1
+ target_directory: ros-jazzy-gz-dartsim-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-dartsim-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - bullet
+ - dartsim-cpp
+ - eigen
+ - fcl
+ - fmt
+ - libboost-devel
+ - libccd-double
+ - lz4
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - urdfdom
+ run:
+ - assimp
+ - bullet
+ - dartsim-cpp
+ - eigen
+ - fcl
+ - fmt
+ - libboost-devel
+ - libccd-double
+ - lz4
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - urdfdom
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-fuel-tools-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-fuel-tools-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-fuel-tools-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-fuel-tools-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-fuel-tools-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-fuel-tools-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-fuel-tools-vendor/patch/ros-jazzy-gz-fuel-tools-vendor.patch b/recipes/ros-jazzy-gz-fuel-tools-vendor/patch/ros-jazzy-gz-fuel-tools-vendor.patch
new file mode 100644
index 00000000..ed6266f1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-fuel-tools-vendor/patch/ros-jazzy-gz-fuel-tools-vendor.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b084b2c..b2fc80d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,8 +4,8 @@ project(gz_fuel_tools_vendor)
+
+ # Project-specific settings
+ set(LIB_VER_MAJOR 9)
+-set(LIB_VER_MINOR 1)
+-set(LIB_VER_PATCH 0)
++set(LIB_VER_MINOR 0)
++set(LIB_VER_PATCH 3)
+
+ # Derived variables
+ set(LIB_NAME gz-fuel_tools)
diff --git a/recipes/ros-jazzy-gz-fuel-tools-vendor/recipe.yaml b/recipes/ros-jazzy-gz-fuel-tools-vendor/recipe.yaml
new file mode 100644
index 00000000..aa384a0d
--- /dev/null
+++ b/recipes/ros-jazzy-gz-fuel-tools-vendor/recipe.yaml
@@ -0,0 +1,117 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-fuel-tools-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_fuel_tools_vendor-release.git
+ tag: release/jazzy/gz_fuel_tools_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-fuel-tools-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-fuel-tools-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gflags
+ - gz-fuel-tools9
+ - jsoncpp
+ - libcurl
+ - libzip
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - yaml
+ run:
+ - gflags
+ - gz-fuel-tools9
+ - jsoncpp
+ - libcurl
+ - libzip
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - yaml
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-gui-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-gui-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-gui-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-gui-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-gui-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-gui-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-gui-vendor/patch/ros-jazzy-gz-gui-vendor.patch b/recipes/ros-jazzy-gz-gui-vendor/patch/ros-jazzy-gz-gui-vendor.patch
new file mode 100644
index 00000000..d9ebdd68
--- /dev/null
+++ b/recipes/ros-jazzy-gz-gui-vendor/patch/ros-jazzy-gz-gui-vendor.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a58d9a4..e6ea27e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,8 +4,8 @@ project(gz_gui_vendor)
+
+ # Project-specific settings
+ set(LIB_VER_MAJOR 8)
+-set(LIB_VER_MINOR 3)
+-set(LIB_VER_PATCH 0)
++set(LIB_VER_MINOR 1)
++set(LIB_VER_PATCH 1)
+
+ # Derived variables
+ set(LIB_NAME gz-gui)
diff --git a/recipes/ros-jazzy-gz-gui-vendor/recipe.yaml b/recipes/ros-jazzy-gz-gui-vendor/recipe.yaml
new file mode 100644
index 00000000..58885031
--- /dev/null
+++ b/recipes/ros-jazzy-gz-gui-vendor/recipe.yaml
@@ -0,0 +1,134 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-gui-vendor
+ version: 0.0.4
+source:
+ git: https://github.com/ros2-gbp/gz_gui_vendor-release.git
+ tag: release/jazzy/gz_gui_vendor/0.0.4-1
+ target_directory: ros-jazzy-gz-gui-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-gui-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-gui8
+ - libprotobuf
+ - numpy
+ - pip
+ - protobuf
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - gz-gui8
+ - libprotobuf
+ - protobuf
+ - python
+ - qt-main
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-gz-math-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-math-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-math-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-math-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-math-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-math-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-math-vendor/patch/ros-jazzy-gz-math-vendor.patch b/recipes/ros-jazzy-gz-math-vendor/patch/ros-jazzy-gz-math-vendor.patch
new file mode 100644
index 00000000..e5a1c5d6
--- /dev/null
+++ b/recipes/ros-jazzy-gz-math-vendor/patch/ros-jazzy-gz-math-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bacf717..69ead8b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-math-vendor/recipe.yaml b/recipes/ros-jazzy-gz-math-vendor/recipe.yaml
new file mode 100644
index 00000000..843585dd
--- /dev/null
+++ b/recipes/ros-jazzy-gz-math-vendor/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-math-vendor
+ version: 0.0.7
+source:
+ git: https://github.com/ros2-gbp/gz_math_vendor-release.git
+ tag: release/jazzy/gz_math_vendor/0.0.7-1
+ target_directory: ros-jazzy-gz-math-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-math-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - gz-math7
+ - numpy
+ - pip
+ - pybind11
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - gz-math7
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-msgs-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-msgs-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-msgs-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-msgs-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-msgs-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-msgs-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-msgs-vendor/patch/ros-jazzy-gz-msgs-vendor.patch b/recipes/ros-jazzy-gz-msgs-vendor/patch/ros-jazzy-gz-msgs-vendor.patch
new file mode 100644
index 00000000..7b6340ff
--- /dev/null
+++ b/recipes/ros-jazzy-gz-msgs-vendor/patch/ros-jazzy-gz-msgs-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a234d6c..1bc36ea 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-msgs-vendor/recipe.yaml b/recipes/ros-jazzy-gz-msgs-vendor/recipe.yaml
new file mode 100644
index 00000000..d29536a3
--- /dev/null
+++ b/recipes/ros-jazzy-gz-msgs-vendor/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-msgs-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_msgs_vendor-release.git
+ tag: release/jazzy/gz_msgs_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-msgs-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-msgs-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-msgs10
+ - libprotobuf
+ - numpy
+ - pip
+ - protobuf
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ run:
+ - gz-msgs10
+ - libprotobuf
+ - protobuf
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-ogre-next-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-ogre-next-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ogre-next-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-ogre-next-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-ogre-next-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ogre-next-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-ogre-next-vendor/patch/ros-jazzy-gz-ogre-next-vendor.patch b/recipes/ros-jazzy-gz-ogre-next-vendor/patch/ros-jazzy-gz-ogre-next-vendor.patch
new file mode 100644
index 00000000..124d088f
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ogre-next-vendor/patch/ros-jazzy-gz-ogre-next-vendor.patch
@@ -0,0 +1,233 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a904707..e6b84cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,9 +1,21 @@
+ cmake_minimum_required(VERSION 3.10)
+ project(gz_ogre_next_vendor)
+
++# Project-specific settings
++set(LIB_VER_MAJOR 2)
++set(LIB_VER_MINOR 3)
++set(LIB_VER_PATCH 3)
++set(LIB_VER ${LIB_VER_MAJOR}.${LIB_VER_MINOR}.${LIB_VER_PATCH})
++
+ find_package(ament_cmake REQUIRED)
+ find_package(ament_cmake_vendor_package REQUIRED)
+
++find_package(OGRE ${LIB_VER})
++message(NOTICE "OGRE_FOUND" = ${OGRE})
++
++# Hack
++set(OGRE_FOUND TRUE)
++
+ set(EXTRA_CMAKE_FLAGS)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*|arm64.*|ARM64.*|arm.*|ARM.*)")
+ # Flags for non SIMD architectures
+@@ -12,6 +24,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*|arm64.*|ARM64.*|arm.*|A
+ endif()
+
+ ament_vendor(${PROJECT_NAME}
++ SATISFIED ${OGRE_FOUND}
+ VCS_URL https://github.com/OGRECave/ogre-next.git
+ VCS_VERSION v2.3.3
+ CMAKE_ARGS
+@@ -33,8 +46,7 @@ ament_vendor(${PROJECT_NAME}
+ -DOGRE_VULKAN_WINDOW_XCB:BOOL=ON
+ ${EXTRA_CMAKE_FLAGS}
+ GLOBAL_HOOK
+- PATCHES
+- patches/0001-Fix-incomplete-vulkan-linkage.patch
++ PATCHES patches
+ )
+
+ if(BUILD_TESTING)
+diff --git a/patches/0002-correct-cmake-vars.patch b/patches/0002-correct-cmake-vars.patch
+new file mode 100644
+index 0000000..357ee82
+--- /dev/null
++++ b/patches/0002-correct-cmake-vars.patch
+@@ -0,0 +1,160 @@
++diff --git a/CMake/Utils/AndroidMacros.cmake b/CMake/Utils/AndroidMacros.cmake
++index d1a3880..e3616fc 100644
++--- a/CMake/Utils/AndroidMacros.cmake
+++++ b/CMake/Utils/AndroidMacros.cmake
++@@ -10,7 +10,7 @@
++
++ macro(add_static_libs LIB_DIR)
++ foreach(LIB_NAME ${ARGN})
++- SET(HEADERS "${HEADERS}# ${LIB_NAME}\n\tinclude $(CLEAR_VARS)\n\tLOCAL_MODULE := ${LIB_NAME}\n\tLOCAL_SRC_FILES := ${LIB_DIR}/lib${LIB_NAME}.a\n\tinclude $(PREBUILT_STATIC_LIBRARY)\n\n")
+++ SET(HEADERS "${HEADERS}# ${LIB_NAME}\n\tinclude ${CLEAR_VARS}\n\tLOCAL_MODULE := ${LIB_NAME}\n\tLOCAL_SRC_FILES := ${LIB_DIR}/lib${LIB_NAME}.a\n\tinclude ${PREBUILT_STATIC_LIBRARY}\n\n")
++ SET(SAMPLE_LDLIBS "${SAMPLE_LDLIBS} ${LIB_NAME}")
++ endforeach(LIB_NAME ${ARGN})
++ SET(SAMPLE_LDLIBS "${SAMPLE_LDLIBS}\n LOCAL_STATIC_LIBRARIES\t+= ")
++@@ -21,7 +21,7 @@ macro(add_static_libs_from_paths)
++ get_filename_component(LIB_NAME ${LIB} NAME_WE)
++ string(SUBSTRING ${LIB_NAME} 3 -1 LIB_NAME) # strip lib prefix
++
++- set(HEADERS "${HEADERS}# ${LIB_NAME}\n\tinclude $(CLEAR_VARS)\n\tLOCAL_MODULE := ${LIB_NAME}\n\tLOCAL_SRC_FILES := ${LIB}\n\tinclude $(PREBUILT_STATIC_LIBRARY)\n\n")
+++ set(HEADERS "${HEADERS}# ${LIB_NAME}\n\tinclude ${CLEAR_VARS}\n\tLOCAL_MODULE := ${LIB_NAME}\n\tLOCAL_SRC_FILES := ${LIB}\n\tinclude ${PREBUILT_STATIC_LIBRARY}\n\n")
++ set(SAMPLE_LDLIBS "${SAMPLE_LDLIBS} ${LIB_NAME}")
++ endforeach()
++ set(SAMPLE_LDLIBS "${SAMPLE_LDLIBS}\n LOCAL_STATIC_LIBRARIES\t+= ")
++@@ -135,4 +135,3 @@ macro(create_android_proj ANDROID_PROJECT_TARGET)
++ WORKING_DIRECTORY ${NDKOUT}
++ )
++ endmacro(create_android_proj)
++-
++diff --git a/CMake/Utils/OgreConfigTargets.cmake b/CMake/Utils/OgreConfigTargets.cmake
++index d8e0208..28acb8c 100644
++--- a/CMake/Utils/OgreConfigTargets.cmake
+++++ b/CMake/Utils/OgreConfigTargets.cmake
++@@ -18,7 +18,7 @@ if(APPLE)
++ if(NOT OGRE_BUILD_PLATFORM_ANDROID AND NOT OGRE_BUILD_PLATFORM_APPLE_IOS)
++ set(PLATFORM_NAME "macosx")
++ elseif(OGRE_BUILD_PLATFORM_APPLE_IOS)
++- set(PLATFORM_NAME "$(PLATFORM_NAME)")
+++ set(PLATFORM_NAME "${PLATFORM_NAME}")
++ endif()
++ endif()
++
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index 2786e35..9c6de22 100755
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -316,7 +316,7 @@ if (OGRE_BUILD_PLATFORM_APPLE_IOS)
++ set(MACOSX_BUNDLE_GUI_IDENTIFIER "com.yourcompany.\${PRODUCT_NAME:rfc1034identifier}")
++ set( CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2" )
++
++- set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_INCLUDING_64_BIT)")
+++ set(CMAKE_OSX_ARCHITECTURES "${ARCHS_STANDARD_INCLUDING_64_BIT}")
++ string (REPLACE "-msse2" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ string (REPLACE "-msse" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ elseif (ANDROID)
++@@ -363,8 +363,6 @@ elseif (APPLE AND NOT OGRE_BUILD_PLATFORM_APPLE_IOS)
++ if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
++ execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT)
++ string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}")
++- else()
++- set(CMAKE_OSX_SYSROOT macosx)
++ endif()
++
++ set( CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES )
++@@ -697,4 +695,3 @@ include(Packaging)
++
++ # Show feature summary
++ include(FeatureSummary)
++-
++diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt
++index b698b84..bd3b21e 100644
++--- a/OgreMain/CMakeLists.txt
+++++ b/OgreMain/CMakeLists.txt
++@@ -439,7 +439,7 @@ if (APPLE)
++ LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo"
++ )
++
++- set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)")
+++ set(OGRE_OSX_BUILD_CONFIGURATION "${PLATFORM_NAME}/${CONFIGURATION}")
++
++ add_custom_command(TARGET ${OGRE_NEXT}Main POST_BUILD
++ COMMAND mkdir ARGS -p ${OGRE_BINARY_DIR}/lib/${OGRE_OSX_BUILD_CONFIGURATION}/Ogre.framework/Headers/Threading
++diff --git a/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake b/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake
++index 23596b5..b57c2a9 100644
++--- a/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake
+++++ b/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake
++@@ -222,10 +222,10 @@ set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/Ogre/CMake/Pack
++ set( OGRE_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/Ogre" CACHE STRING "Path to OGRE source code (see http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide)" )
++ if( WIN32 )
++ set( OGRE_BINARIES "${OGRE_SOURCE}/build" CACHE STRING "Path to OGRE's build folder generated by CMake" )
++- link_directories( "${OGRE_BINARIES}/lib/$(ConfigurationName)" )
+++ link_directories( "${OGRE_BINARIES}/lib/${ConfigurationName}" )
++ elseif( APPLE )
++ set( OGRE_BINARIES "${OGRE_SOURCE}/build" CACHE STRING "Path to OGRE's build folder generated by CMake" )
++- link_directories( "${OGRE_BINARIES}/lib/$(PLATFORM_NAME)/$(CONFIGURATION)" )
+++ link_directories( "${OGRE_BINARIES}/lib/${PLATFORM_NAME}/${CONFIGURATION}" )
++ elseif( ANDROID )
++ set( OGRE_BINARIES "${OGRE_SOURCE}/build/Android/${CMAKE_BUILD_TYPE}" CACHE STRING "Path to OGRE's build folder generated by CMake" )
++ link_directories( "${OGRE_BINARIES}/lib" )
++@@ -406,10 +406,10 @@ macro( addStaticDependencies OGRE_SOURCE, OGRE_BINARIES, OGRE_BUILD_SETTINGS_STR
++ endif()
++
++ if( WIN32 )
++- set( OGRE_DEPENDENCIES "${OGRE_SOURCE}/Dependencies/lib/$(ConfigurationName)" CACHE STRING
+++ set( OGRE_DEPENDENCIES "${OGRE_SOURCE}/Dependencies/lib/${ConfigurationName}" CACHE STRING
++ "Path to OGRE's dependencies folder. Only used in Static Builds" )
++ elseif( IOS )
++- set( OGRE_DEPENDENCIES "${OGRE_SOURCE}/iOSDependencies/lib/$(CONFIGURATION)" CACHE STRING
+++ set( OGRE_DEPENDENCIES "${OGRE_SOURCE}/iOSDependencies/lib/${CONFIGURATION}" CACHE STRING
++ "Path to OGRE's dependencies folder. Only used in Static Builds" )
++ elseif( ANDROID )
++ set( OGRE_DEPENDENCIES "${OGRE_SOURCE}/DependenciesAndroid/lib" CACHE STRING
++diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
++index 5167104..bf8fe80 100644
++--- a/Tests/CMakeLists.txt
+++++ b/Tests/CMakeLists.txt
++@@ -151,8 +151,8 @@ if (OGRE_BUILD_TESTS)
++ ogre_config_sample_exe(Test_Ogre)
++ target_link_libraries(Test_Ogre ${OGRE_LIBRARIES} ${CppUnit_LIBRARIES})
++ if(APPLE AND NOT OGRE_BUILD_PLATFORM_APPLE_IOS)
++- set(OGRE_BUILT_FRAMEWORK "$(PLATFORM_NAME)/$(CONFIGURATION)")
++- set(OGRE_TEST_CONTENTS_PATH ${OGRE_BINARY_DIR}/bin/$(CONFIGURATION)/Test_Ogre.app/Contents)
+++ set(OGRE_BUILT_FRAMEWORK "${PLATFORM_NAME}/${CONFIGURATION}")
+++ set(OGRE_TEST_CONTENTS_PATH ${OGRE_BINARY_DIR}/bin/${CONFIGURATION}/Test_Ogre.app/Contents)
++ set_target_properties(Test_Ogre PROPERTIES
++ LINK_FLAGS "-framework Carbon -framework Cocoa")
++ add_custom_command(TARGET Test_Ogre POST_BUILD
++diff --git a/Tests/VisualTests/Context/CMakeLists.txt b/Tests/VisualTests/Context/CMakeLists.txt
++index 551a8e7..6e0e49b 100644
++--- a/Tests/VisualTests/Context/CMakeLists.txt
+++++ b/Tests/VisualTests/Context/CMakeLists.txt
++@@ -86,18 +86,18 @@ if (APPLE)
++ set_target_properties(TestContext PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
++ set_target_properties(TestContext PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
++ set (OGRE_TESTCONTEXT_CONTENTS_PATH
++- ${OGRE_BINARY_DIR}/bin/$(CONFIGURATION)/TestContext.app)
+++ ${OGRE_BINARY_DIR}/bin/${CONFIGURATION}/TestContext.app)
++ add_custom_command(TARGET TestContext POST_BUILD
++ COMMAND ditto ${OGRE_SOURCE_DIR}/Samples/Common/misc/*.png ${OGRE_TESTCONTEXT_CONTENTS_PATH}/
++ COMMAND ditto ${OGRE_BINARY_DIR}/bin/*.cfg ${OGRE_TESTCONTEXT_CONTENTS_PATH}/
++ )
++ add_custom_command(TARGET TestContext POST_BUILD
++- COMMAND mkdir ARGS -p ${OGRE_BINARY_DIR}/lib/$(CONFIGURATION)/
+++ COMMAND mkdir ARGS -p ${OGRE_BINARY_DIR}/lib/${CONFIGURATION}/
++ COMMAND ditto ${OGRE_SOURCE_DIR}/Samples/Media ${OGRE_TESTCONTEXT_CONTENTS_PATH}/Media
++ COMMAND ditto ${OGRE_SOURCE_DIR}/Tests/Media ${OGRE_TESTCONTEXT_CONTENTS_PATH}/Media
++ )
++ else()
++- set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)")
+++ set(OGRE_OSX_BUILD_CONFIGURATION "${PLATFORM_NAME}/${CONFIGURATION}")
++ set_property(TARGET TestContext PROPERTY MACOSX_BUNDLE TRUE)
++ set_property(TARGET TestContext PROPERTY MACOSX_BUNDLE_ICON_FILE SampleBrowser_OSX.icns)
++ set_property(TARGET TestContext PROPERTY MACOSX_BUNDLE_INFO_PLIST ${OGRE_SOURCE_DIR}/Tests/VisualTests/Context/misc/Info.plist)
++@@ -106,7 +106,7 @@ if (APPLE)
++ set_target_properties(TestContext PROPERTIES
++ LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo")
++ set (OGRE_TESTCONTEXT_CONTENTS_PATH
++- ${OGRE_BINARY_DIR}/bin/$(CONFIGURATION)/TestContext.app/Contents)
+++ ${OGRE_BINARY_DIR}/bin/${CONFIGURATION}/TestContext.app/Contents)
++ add_custom_command(TARGET TestContext POST_BUILD
++ COMMAND mkdir ARGS -p ${OGRE_TESTCONTEXT_CONTENTS_PATH}/Frameworks
++ COMMAND ln ARGS -s -f ${OGRE_BINARY_DIR}/lib/${OGRE_OSX_BUILD_CONFIGURATION}/Ogre.framework
+diff --git a/patches/0003-fix-string.patch b/patches/0003-fix-string.patch
+new file mode 100644
+index 0000000..82f5dbf
+--- /dev/null
++++ b/patches/0003-fix-string.patch
+@@ -0,0 +1,17 @@
++diff --git a/OgreMain/include/OgreUTFString.h b/OgreMain/include/OgreUTFString.h
++index 0aeab6a..a3be244 100644
++--- a/OgreMain/include/OgreUTFString.h
+++++ b/OgreMain/include/OgreUTFString.h
++@@ -189,10 +189,10 @@ namespace Ogre {
++ static const size_type npos = static_cast(~0);
++
++ //! a single 32-bit Unicode character
++- typedef uint32 unicode_char;
+++ typedef char32_t unicode_char;
++
++ //! a single UTF-16 code point
++- typedef uint16 code_point;
+++ typedef char16_t code_point;
++
++ //! value type typedef for use in iterators
++ typedef code_point value_type;
diff --git a/recipes/ros-jazzy-gz-ogre-next-vendor/recipe.yaml b/recipes/ros-jazzy-gz-ogre-next-vendor/recipe.yaml
new file mode 100644
index 00000000..4d2eec8b
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ogre-next-vendor/recipe.yaml
@@ -0,0 +1,139 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-ogre-next-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_ogre_next_vendor-release.git
+ tag: release/jazzy/gz_ogre_next_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-ogre-next-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-ogre-next-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - freeimage
+ - freetype
+ - glslang
+ - libboost-devel
+ - libvulkan-headers
+ - libvulkan-loader
+ - numpy
+ - ogre-next
+ - pip
+ - poco
+ - python
+ - rapidjson
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdl2
+ - shaderc
+ - tbb
+ - tbb-devel
+ - tinyxml2
+ - xorg-libx11
+ - xorg-libxaw
+ - xorg-libxrandr
+ - xorg-xorgproto
+ - zziplib
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - freeimage
+ - freetype
+ - glslang
+ - libboost-devel
+ - libvulkan-headers
+ - libvulkan-loader
+ - ogre-next
+ - poco
+ - python
+ - rapidjson
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdl2
+ - shaderc
+ - tbb
+ - tbb-devel
+ - tinyxml2
+ - xorg-libx11
+ - xorg-libxaw
+ - xorg-libxrandr
+ - xorg-xorgproto
+ - zziplib
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-gz-physics-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-physics-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-physics-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-physics-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-physics-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-physics-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-physics-vendor/patch/ros-jazzy-gz-physics-vendor.patch b/recipes/ros-jazzy-gz-physics-vendor/patch/ros-jazzy-gz-physics-vendor.patch
new file mode 100644
index 00000000..d6352aa3
--- /dev/null
+++ b/recipes/ros-jazzy-gz-physics-vendor/patch/ros-jazzy-gz-physics-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3b0b5e4..fa007d8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-physics-vendor/recipe.yaml b/recipes/ros-jazzy-gz-physics-vendor/recipe.yaml
new file mode 100644
index 00000000..274e49b4
--- /dev/null
+++ b/recipes/ros-jazzy-gz-physics-vendor/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-physics-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_physics_vendor-release.git
+ tag: release/jazzy/gz_physics_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-physics-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-physics-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - benchmark
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - bullet
+ - eigen
+ - gz-physics7
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-dartsim-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - benchmark
+ - bullet
+ - eigen
+ - gz-physics7
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-dartsim-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-plugin-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-plugin-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-plugin-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-plugin-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-plugin-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-plugin-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-plugin-vendor/patch/ros-jazzy-gz-plugin-vendor.patch b/recipes/ros-jazzy-gz-plugin-vendor/patch/ros-jazzy-gz-plugin-vendor.patch
new file mode 100644
index 00000000..bd4b6df7
--- /dev/null
+++ b/recipes/ros-jazzy-gz-plugin-vendor/patch/ros-jazzy-gz-plugin-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed2578e..cb5c72a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-plugin-vendor/recipe.yaml b/recipes/ros-jazzy-gz-plugin-vendor/recipe.yaml
new file mode 100644
index 00000000..6649ed9b
--- /dev/null
+++ b/recipes/ros-jazzy-gz-plugin-vendor/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-plugin-vendor
+ version: 0.0.4
+source:
+ git: https://github.com/ros2-gbp/gz_plugin_vendor-release.git
+ tag: release/jazzy/gz_plugin_vendor/0.0.4-1
+ target_directory: ros-jazzy-gz-plugin-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-plugin-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-plugin2
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gz-plugin2
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-rendering-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-rendering-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-rendering-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-rendering-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-rendering-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-rendering-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-rendering-vendor/patch/ros-jazzy-gz-rendering-vendor.patch b/recipes/ros-jazzy-gz-rendering-vendor/patch/ros-jazzy-gz-rendering-vendor.patch
new file mode 100644
index 00000000..881281a2
--- /dev/null
+++ b/recipes/ros-jazzy-gz-rendering-vendor/patch/ros-jazzy-gz-rendering-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f7decac..c7c068e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,7 +40,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-rendering-vendor/recipe.yaml b/recipes/ros-jazzy-gz-rendering-vendor/recipe.yaml
new file mode 100644
index 00000000..9013c90d
--- /dev/null
+++ b/recipes/ros-jazzy-gz-rendering-vendor/recipe.yaml
@@ -0,0 +1,125 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-rendering-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_rendering_vendor-release.git
+ tag: release/jazzy/gz_rendering_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-rendering-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-rendering-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - freeglut
+ - freeimage
+ - glew
+ - gz-rendering8
+ - libuuid
+ - libvulkan-headers
+ - libvulkan-loader
+ - numpy
+ - ogre
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-ogre-next-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - swig
+ - xorg-libxi
+ - xorg-libxmu
+ run:
+ - freeglut
+ - freeimage
+ - glew
+ - gz-rendering8
+ - libuuid
+ - libvulkan-headers
+ - libvulkan-loader
+ - ogre
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-ogre-next-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - swig
+ - xorg-libxi
+ - xorg-libxmu
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-ros2-control-demos/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-ros2-control-demos/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control-demos/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-ros2-control-demos/build_ament_cmake.sh b/recipes/ros-jazzy-gz-ros2-control-demos/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control-demos/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-ros2-control-demos/recipe.yaml b/recipes/ros-jazzy-gz-ros2-control-demos/recipe.yaml
new file mode 100644
index 00000000..0373e47a
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control-demos/recipe.yaml
@@ -0,0 +1,128 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-ros2-control-demos
+ version: 1.2.10
+source:
+ git: https://github.com/ros2-gbp/ign_ros2_control-release.git
+ tag: release/jazzy/gz_ros2_control_demos/1.2.10-1
+ target_directory: ros-jazzy-gz-ros2-control-demos/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-control-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ackermann-steering-controller
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-diff-drive-controller
+ - ros-jazzy-effort-controllers
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gz-ros2-control
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-imu-sensor-broadcaster
+ - ros-jazzy-joint-state-broadcaster
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-mecanum-drive-controller
+ - ros-jazzy-rclcpp
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-gz-sim
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2controlcli
+ - ros-jazzy-ros2launch
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tricycle-controller
+ - ros-jazzy-velocity-controllers
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-gz-ros2-control/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-ros2-control/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-ros2-control/build_ament_cmake.sh b/recipes/ros-jazzy-gz-ros2-control/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-ros2-control/recipe.yaml b/recipes/ros-jazzy-gz-ros2-control/recipe.yaml
new file mode 100644
index 00000000..9e58ac86
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-ros2-control
+ version: 1.2.10
+source:
+ git: https://github.com/ros2-gbp/ign_ros2_control-release.git
+ tag: release/jazzy/gz_ros2_control/1.2.10-1
+ target_directory: ros-jazzy-gz-ros2-control/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-controller-manager
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-controller-manager
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-gz-sensors-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-sensors-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sensors-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-sensors-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-sensors-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sensors-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-sensors-vendor/patch/ros-jazzy-gz-sensors-vendor.patch b/recipes/ros-jazzy-gz-sensors-vendor/patch/ros-jazzy-gz-sensors-vendor.patch
new file mode 100644
index 00000000..9aa287b6
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sensors-vendor/patch/ros-jazzy-gz-sensors-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1fba7c8..c82aaa5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-sensors-vendor/recipe.yaml b/recipes/ros-jazzy-gz-sensors-vendor/recipe.yaml
new file mode 100644
index 00000000..0e9d2ad7
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sensors-vendor/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-sensors-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_sensors_vendor-release.git
+ tag: release/jazzy/gz_sensors_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-sensors-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-sensors-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-sensors8
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gz-sensors8
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-sim-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-sim-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sim-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-sim-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-sim-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sim-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-sim-vendor/patch/ros-jazzy-gz-sim-vendor.patch b/recipes/ros-jazzy-gz-sim-vendor/patch/ros-jazzy-gz-sim-vendor.patch
new file mode 100644
index 00000000..482109fd
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sim-vendor/patch/ros-jazzy-gz-sim-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index db289b6..e1f3327 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,7 +48,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-sim-vendor/recipe.yaml b/recipes/ros-jazzy-gz-sim-vendor/recipe.yaml
new file mode 100644
index 00000000..1e19d417
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sim-vendor/recipe.yaml
@@ -0,0 +1,164 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-sim-vendor
+ version: 0.0.7
+source:
+ git: https://github.com/ros2-gbp/gz_sim_vendor-release.git
+ tag: release/jazzy/gz_sim_vendor/0.0.7-1
+ target_directory: ros-jazzy-gz-sim-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-sim-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - benchmark
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - freeglut
+ - freeimage
+ - glew
+ - gz-sim8
+ - libprotobuf
+ - libuuid
+ - numpy
+ - pip
+ - protobuf
+ - pybind11
+ - pytest
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-fuel-tools-vendor
+ - ros-jazzy-gz-gui-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-physics-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-sensors-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - xorg-libxi
+ - xorg-libxmu
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - benchmark
+ - freeglut
+ - freeimage
+ - glew
+ - gz-sim8
+ - libprotobuf
+ - libuuid
+ - protobuf
+ - pybind11
+ - python
+ - qt-main
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-common-vendor
+ - ros-jazzy-gz-fuel-tools-vendor
+ - ros-jazzy-gz-gui-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-physics-vendor
+ - ros-jazzy-gz-plugin-vendor
+ - ros-jazzy-gz-rendering-vendor
+ - ros-jazzy-gz-sensors-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - xorg-libxi
+ - xorg-libxmu
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-gz-tools-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-tools-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-tools-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-tools-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-tools-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-tools-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-tools-vendor/recipe.yaml b/recipes/ros-jazzy-gz-tools-vendor/recipe.yaml
new file mode 100644
index 00000000..939eb760
--- /dev/null
+++ b/recipes/ros-jazzy-gz-tools-vendor/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-tools-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_tools_vendor-release.git
+ tag: release/jazzy/gz_tools_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-tools-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-tools2
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gz-tools2
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - ruby
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-transport-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-transport-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-transport-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-transport-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-transport-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-transport-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-transport-vendor/patch/ros-jazzy-gz-transport-vendor.patch b/recipes/ros-jazzy-gz-transport-vendor/patch/ros-jazzy-gz-transport-vendor.patch
new file mode 100644
index 00000000..01ccc875
--- /dev/null
+++ b/recipes/ros-jazzy-gz-transport-vendor/patch/ros-jazzy-gz-transport-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d0d7a23..77f334f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,7 +38,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-transport-vendor/recipe.yaml b/recipes/ros-jazzy-gz-transport-vendor/recipe.yaml
new file mode 100644
index 00000000..24134fee
--- /dev/null
+++ b/recipes/ros-jazzy-gz-transport-vendor/recipe.yaml
@@ -0,0 +1,126 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-transport-vendor
+ version: 0.0.5
+source:
+ git: https://github.com/ros2-gbp/gz_transport_vendor-release.git
+ tag: release/jazzy/gz_transport_vendor/0.0.5-1
+ target_directory: ros-jazzy-gz-transport-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-transport-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cppzmq
+ - gz-transport13
+ - libprotobuf
+ - libuuid
+ - numpy
+ - pip
+ - pkg-config
+ - protobuf
+ - psutil
+ - pybind11
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite 3.*
+ - zeromq
+ run:
+ - cppzmq
+ - gz-transport13
+ - libprotobuf
+ - libuuid
+ - pkg-config
+ - protobuf
+ - psutil
+ - pybind11
+ - pytest
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite
+ - zeromq
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-gz-utils-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-gz-utils-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-gz-utils-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-gz-utils-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-gz-utils-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-gz-utils-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-gz-utils-vendor/patch/ros-jazzy-gz-utils-vendor.patch b/recipes/ros-jazzy-gz-utils-vendor/patch/ros-jazzy-gz-utils-vendor.patch
new file mode 100644
index 00000000..fdaa4012
--- /dev/null
+++ b/recipes/ros-jazzy-gz-utils-vendor/patch/ros-jazzy-gz-utils-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 264ab97..acc88cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-gz-utils-vendor/recipe.yaml b/recipes/ros-jazzy-gz-utils-vendor/recipe.yaml
new file mode 100644
index 00000000..74c9b246
--- /dev/null
+++ b/recipes/ros-jazzy-gz-utils-vendor/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-gz-utils-vendor
+ version: 0.0.4
+source:
+ git: https://github.com/ros2-gbp/gz_utils_vendor-release.git
+ tag: release/jazzy/gz_utils_vendor/0.0.4-1
+ target_directory: ros-jazzy-gz-utils-vendor/src/work
+ patches:
+ - patch/ros-jazzy-gz-utils-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gz-utils2
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - gz-utils2
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-hardware-interface-testing/bld_ament_cmake.bat b/recipes/ros-jazzy-hardware-interface-testing/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface-testing/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-hardware-interface-testing/build_ament_cmake.sh b/recipes/ros-jazzy-hardware-interface-testing/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface-testing/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-hardware-interface-testing/recipe.yaml b/recipes/ros-jazzy-hardware-interface-testing/recipe.yaml
new file mode 100644
index 00000000..164ca49b
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface-testing/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-hardware-interface-testing
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/hardware_interface_testing/4.25.0-1
+ target_directory: ros-jazzy-hardware-interface-testing/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-control-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-hardware-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-hardware-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-hardware-interface/build_ament_cmake.sh b/recipes/ros-jazzy-hardware-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-hardware-interface/patch/ros-jazzy-hardware-interface.unix.patch b/recipes/ros-jazzy-hardware-interface/patch/ros-jazzy-hardware-interface.unix.patch
new file mode 100644
index 00000000..9a80fd02
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface/patch/ros-jazzy-hardware-interface.unix.patch
@@ -0,0 +1,42 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b4e0f6cab..896175fad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,11 +1,6 @@
+ cmake_minimum_required(VERSION 3.16)
+ project(hardware_interface LANGUAGES CXX)
+
+-if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
+- add_compile_options(-Wall -Wextra -Werror=conversion -Werror=unused-but-set-variable -Werror=return-type -Werror=shadow
+- -Werror=missing-braces)
+-endif()
+-
+ # using this instead of visibility macros
+ # S1 from https://github.com/ros-controls/ros2_controllers/issues/1053
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+diff --git a/include/hardware_interface/async_components.hpp b/include/hardware_interface/async_components.hpp
+index 052c4ba92..85efed01f 100644
+--- a/include/hardware_interface/async_components.hpp
++++ b/include/hardware_interface/async_components.hpp
+@@ -82,7 +82,11 @@ public:
+ {
+ auto const period = std::chrono::nanoseconds(1'000'000'000 / cm_update_rate_);
+ TimePoint next_iteration_time =
+- TimePoint(std::chrono::nanoseconds(clock_interface_->get_clock()->now().nanoseconds()));
++ TimePoint(std::chrono::system_clock::time_point(
++ std::chrono::duration_cast(
++ std::chrono::nanoseconds(clock_interface_->get_clock()->now().nanoseconds())
++ )
++ ));
+
+ if (
+ component->get_lifecycle_state().id() ==
+@@ -99,7 +103,7 @@ public:
+ component->read(clock_interface_->get_clock()->now(), measured_period);
+ first_iteration = false;
+ }
+- next_iteration_time += period;
++ next_iteration_time += std::chrono::duration_cast(period);
+ std::this_thread::sleep_until(next_iteration_time);
+ }
+ },
diff --git a/recipes/ros-jazzy-hardware-interface/recipe.yaml b/recipes/ros-jazzy-hardware-interface/recipe.yaml
new file mode 100644
index 00000000..0b7a4ace
--- /dev/null
+++ b/recipes/ros-jazzy-hardware-interface/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-hardware-interface
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/hardware_interface/4.25.0-1
+ target_directory: ros-jazzy-hardware-interface/src/work
+ patches:
+ - patch/ros-jazzy-hardware-interface.unix.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-joint-limits
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-sdformat-urdf
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-joint-limits
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-urdf
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-iceoryx-binding-c/bld_catkin.bat b/recipes/ros-jazzy-iceoryx-binding-c/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-binding-c/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-iceoryx-binding-c/build_catkin.sh b/recipes/ros-jazzy-iceoryx-binding-c/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-binding-c/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-iceoryx-binding-c/recipe.yaml b/recipes/ros-jazzy-iceoryx-binding-c/recipe.yaml
new file mode 100644
index 00000000..a44391b6
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-binding-c/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-iceoryx-binding-c
+ version: 2.0.6
+source:
+ git: https://github.com/ros2-gbp/iceoryx-release.git
+ tag: release/jazzy/iceoryx_binding_c/2.0.6-1
+ target_directory: ros-jazzy-iceoryx-binding-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-iceoryx-hoofs
+ - ros-jazzy-iceoryx-posh
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-iceoryx-hoofs/bld_catkin.bat b/recipes/ros-jazzy-iceoryx-hoofs/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-hoofs/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-iceoryx-hoofs/build_catkin.sh b/recipes/ros-jazzy-iceoryx-hoofs/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-hoofs/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-iceoryx-hoofs/recipe.yaml b/recipes/ros-jazzy-iceoryx-hoofs/recipe.yaml
new file mode 100644
index 00000000..4606ab53
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-hoofs/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-iceoryx-hoofs
+ version: 2.0.6
+source:
+ git: https://github.com/ros2-gbp/iceoryx-release.git
+ tag: release/jazzy/iceoryx_hoofs/2.0.6-1
+ target_directory: ros-jazzy-iceoryx-hoofs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libacl
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libacl
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-iceoryx-posh/bld_catkin.bat b/recipes/ros-jazzy-iceoryx-posh/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-posh/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-iceoryx-posh/build_catkin.sh b/recipes/ros-jazzy-iceoryx-posh/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-posh/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-iceoryx-posh/recipe.yaml b/recipes/ros-jazzy-iceoryx-posh/recipe.yaml
new file mode 100644
index 00000000..3b4eabd4
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-posh/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-iceoryx-posh
+ version: 2.0.6
+source:
+ git: https://github.com/ros2-gbp/iceoryx-release.git
+ tag: release/jazzy/iceoryx_posh/2.0.6-1
+ target_directory: ros-jazzy-iceoryx-posh/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-iceoryx-hoofs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-iceoryx-hoofs
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-common/bld_ament_cmake.bat b/recipes/ros-jazzy-image-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-common/build_ament_cmake.sh b/recipes/ros-jazzy-image-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-common/recipe.yaml b/recipes/ros-jazzy-image-common/recipe.yaml
new file mode 100644
index 00000000..aeeed9f5
--- /dev/null
+++ b/recipes/ros-jazzy-image-common/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-common
+ version: 5.1.5
+source:
+ git: https://github.com/ros2-gbp/image_common-release.git
+ tag: release/jazzy/image_common/5.1.5-1
+ target_directory: ros-jazzy-image-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-camera-info-manager
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-geometry/bld_ament_cmake.bat b/recipes/ros-jazzy-image-geometry/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-geometry/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-geometry/build_ament_cmake.sh b/recipes/ros-jazzy-image-geometry/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-geometry/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-geometry/recipe.yaml b/recipes/ros-jazzy-image-geometry/recipe.yaml
new file mode 100644
index 00000000..c893893c
--- /dev/null
+++ b/recipes/ros-jazzy-image-geometry/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-geometry
+ version: 4.1.0
+source:
+ git: https://github.com/ros2-gbp/vision_opencv-release.git
+ tag: release/jazzy/image_geometry/4.1.0-1
+ target_directory: ros-jazzy-image-geometry/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - deprecated
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - deprecated
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-image-pipeline/bld_ament_cmake.bat b/recipes/ros-jazzy-image-pipeline/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-pipeline/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-pipeline/build_ament_cmake.sh b/recipes/ros-jazzy-image-pipeline/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-pipeline/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-pipeline/recipe.yaml b/recipes/ros-jazzy-image-pipeline/recipe.yaml
new file mode 100644
index 00000000..c3f12e4a
--- /dev/null
+++ b/recipes/ros-jazzy-image-pipeline/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-pipeline
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/image_pipeline/5.0.6-1
+ target_directory: ros-jazzy-image-pipeline/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-camera-calibration
+ - ros-jazzy-depth-image-proc
+ - ros-jazzy-image-proc
+ - ros-jazzy-image-publisher
+ - ros-jazzy-image-rotate
+ - ros-jazzy-image-view
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-stereo-image-proc
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-proc/bld_ament_cmake.bat b/recipes/ros-jazzy-image-proc/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-proc/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-proc/build_ament_cmake.sh b/recipes/ros-jazzy-image-proc/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-proc/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-proc/patch/ros-jazzy-image-proc.patch b/recipes/ros-jazzy-image-proc/patch/ros-jazzy-image-proc.patch
new file mode 100644
index 00000000..1e0f6721
--- /dev/null
+++ b/recipes/ros-jazzy-image-proc/patch/ros-jazzy-image-proc.patch
@@ -0,0 +1,37 @@
+diff --git a/include/image_proc/track_marker.hpp b/include/image_proc/track_marker.hpp
+index 6c212913..f6366c35 100644
+--- a/include/image_proc/track_marker.hpp
++++ b/include/image_proc/track_marker.hpp
+@@ -61,8 +61,7 @@ private:
+ std::string image_topic_;
+ rclcpp::Publisher::SharedPtr pub_;
+
+- cv::Ptr detector_params_;
+- cv::Ptr dictionary_;
++ cv::aruco::Dictionary dictionary_;
+
+ void imageCb(
+ const sensor_msgs::msg::Image::ConstSharedPtr & image_msg,
+diff --git a/src/track_marker.cpp b/src/track_marker.cpp
+index 86177438..8fee7a36 100644
+--- a/src/track_marker.cpp
++++ b/src/track_marker.cpp
+@@ -66,7 +66,6 @@ TrackMarkerNode::TrackMarkerNode(const rclcpp::NodeOptions & options)
+ // Default dictionary is cv::aruco::DICT_6X6_250
+ int dict_id = this->declare_parameter("dictionary", 10);
+
+- detector_params_ = cv::aruco::DetectorParameters::create();
+ dictionary_ = cv::aruco::getPredefinedDictionary(dict_id);
+
+ // Setup lazy subscriber using publisher connection callback
+@@ -108,7 +107,9 @@ void TrackMarkerNode::imageCb(
+
+ std::vector marker_ids;
+ std::vector> marker_corners;
+- cv::aruco::detectMarkers(cv_ptr->image, dictionary_, marker_corners, marker_ids);
++ cv::Ptr dictionaryPtr = cv::makePtr(dictionary_);
++ const cv::Ptr constDictionaryPtr = dictionaryPtr;
++ cv::aruco::detectMarkers(cv_ptr->image, constDictionaryPtr, marker_corners, marker_ids);
+
+ for (size_t i = 0; i < marker_ids.size(); ++i) {
+ if (marker_ids[i] == marker_id_) {
diff --git a/recipes/ros-jazzy-image-proc/recipe.yaml b/recipes/ros-jazzy-image-proc/recipe.yaml
new file mode 100644
index 00000000..459c764a
--- /dev/null
+++ b/recipes/ros-jazzy-image-proc/recipe.yaml
@@ -0,0 +1,128 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-proc
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/image_proc/5.0.6-1
+ target_directory: ros-jazzy-image-proc/src/work
+ patches:
+ - patch/ros-jazzy-image-proc.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tracetools-image-pipeline
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tracetools-image-pipeline
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-image-publisher/bld_ament_cmake.bat b/recipes/ros-jazzy-image-publisher/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-publisher/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-publisher/build_ament_cmake.sh b/recipes/ros-jazzy-image-publisher/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-publisher/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-publisher/recipe.yaml b/recipes/ros-jazzy-image-publisher/recipe.yaml
new file mode 100644
index 00000000..93a71d26
--- /dev/null
+++ b/recipes/ros-jazzy-image-publisher/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-publisher
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/image_publisher/5.0.6-1
+ target_directory: ros-jazzy-image-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-camera-info-manager
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-camera-info-manager
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-rotate/bld_ament_cmake.bat b/recipes/ros-jazzy-image-rotate/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-rotate/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-rotate/build_ament_cmake.sh b/recipes/ros-jazzy-image-rotate/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-rotate/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-rotate/recipe.yaml b/recipes/ros-jazzy-image-rotate/recipe.yaml
new file mode 100644
index 00000000..fa1fac8d
--- /dev/null
+++ b/recipes/ros-jazzy-image-rotate/recipe.yaml
@@ -0,0 +1,123 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-rotate
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/image_rotate/5.0.6-1
+ target_directory: ros-jazzy-image-rotate/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-class-loader
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-image-tools/bld_ament_cmake.bat b/recipes/ros-jazzy-image-tools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-tools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-tools/build_ament_cmake.sh b/recipes/ros-jazzy-image-tools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-tools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-tools/recipe.yaml b/recipes/ros-jazzy-image-tools/recipe.yaml
new file mode 100644
index 00000000..c13dfe6f
--- /dev/null
+++ b/recipes/ros-jazzy-image-tools/recipe.yaml
@@ -0,0 +1,117 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-tools
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/image_tools/0.33.5-1
+ target_directory: ros-jazzy-image-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-image-transport-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-image-transport-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-transport-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-image-transport-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-transport-plugins/recipe.yaml b/recipes/ros-jazzy-image-transport-plugins/recipe.yaml
new file mode 100644
index 00000000..d41df7a1
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport-plugins/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-transport-plugins
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/image_transport_plugins-release.git
+ tag: release/jazzy/image_transport_plugins/4.0.3-1
+ target_directory: ros-jazzy-image-transport-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-compressed-depth-image-transport
+ - ros-jazzy-compressed-image-transport
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-theora-image-transport
+ - ros-jazzy-zstd-image-transport
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-image-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-transport/build_ament_cmake.sh b/recipes/ros-jazzy-image-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-transport/recipe.yaml b/recipes/ros-jazzy-image-transport/recipe.yaml
new file mode 100644
index 00000000..e4787ea4
--- /dev/null
+++ b/recipes/ros-jazzy-image-transport/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-transport
+ version: 5.1.5
+source:
+ git: https://github.com/ros2-gbp/image_common-release.git
+ tag: release/jazzy/image_transport/5.1.5-1
+ target_directory: ros-jazzy-image-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-image-view/bld_ament_cmake.bat b/recipes/ros-jazzy-image-view/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-image-view/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-image-view/build_ament_cmake.sh b/recipes/ros-jazzy-image-view/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-image-view/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-image-view/recipe.yaml b/recipes/ros-jazzy-image-view/recipe.yaml
new file mode 100644
index 00000000..143d984e
--- /dev/null
+++ b/recipes/ros-jazzy-image-view/recipe.yaml
@@ -0,0 +1,117 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-image-view
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/image_view/5.0.6-1
+ target_directory: ros-jazzy-image-view/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-stereo-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-camera-calibration-parsers
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-stereo-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-imu-sensor-broadcaster/bld_ament_cmake.bat b/recipes/ros-jazzy-imu-sensor-broadcaster/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-imu-sensor-broadcaster/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-imu-sensor-broadcaster/build_ament_cmake.sh b/recipes/ros-jazzy-imu-sensor-broadcaster/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-imu-sensor-broadcaster/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-imu-sensor-broadcaster/recipe.yaml b/recipes/ros-jazzy-imu-sensor-broadcaster/recipe.yaml
new file mode 100644
index 00000000..b3d4801a
--- /dev/null
+++ b/recipes/ros-jazzy-imu-sensor-broadcaster/recipe.yaml
@@ -0,0 +1,108 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-imu-sensor-broadcaster
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/imu_sensor_broadcaster/4.20.0-1
+ target_directory: ros-jazzy-imu-sensor-broadcaster/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-interactive-markers/bld_ament_cmake.bat b/recipes/ros-jazzy-interactive-markers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-interactive-markers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-interactive-markers/build_ament_cmake.sh b/recipes/ros-jazzy-interactive-markers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-interactive-markers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-interactive-markers/recipe.yaml b/recipes/ros-jazzy-interactive-markers/recipe.yaml
new file mode 100644
index 00000000..f7c88e19
--- /dev/null
+++ b/recipes/ros-jazzy-interactive-markers/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-interactive-markers
+ version: 2.5.4
+source:
+ git: https://github.com/ros2-gbp/interactive_markers-release.git
+ tag: release/jazzy/interactive_markers/2.5.4-2
+ target_directory: ros-jazzy-interactive-markers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-intra-process-demo/bld_ament_cmake.bat b/recipes/ros-jazzy-intra-process-demo/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-intra-process-demo/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-intra-process-demo/build_ament_cmake.sh b/recipes/ros-jazzy-intra-process-demo/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-intra-process-demo/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-intra-process-demo/recipe.yaml b/recipes/ros-jazzy-intra-process-demo/recipe.yaml
new file mode 100644
index 00000000..6da0719e
--- /dev/null
+++ b/recipes/ros-jazzy-intra-process-demo/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-intra-process-demo
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/intra_process_demo/0.33.5-1
+ target_directory: ros-jazzy-intra-process-demo/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libopencv
+ - py-opencv
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-joint-limits/bld_ament_cmake.bat b/recipes/ros-jazzy-joint-limits/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-joint-limits/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joint-limits/build_ament_cmake.sh b/recipes/ros-jazzy-joint-limits/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-joint-limits/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-joint-limits/recipe.yaml b/recipes/ros-jazzy-joint-limits/recipe.yaml
new file mode 100644
index 00000000..95712d6b
--- /dev/null
+++ b/recipes/ros-jazzy-joint-limits/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joint-limits
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/joint_limits/4.25.0-1
+ target_directory: ros-jazzy-joint-limits/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-backward-ros
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-joint-state-broadcaster/bld_ament_cmake.bat b/recipes/ros-jazzy-joint-state-broadcaster/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-broadcaster/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joint-state-broadcaster/build_ament_cmake.sh b/recipes/ros-jazzy-joint-state-broadcaster/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-broadcaster/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-joint-state-broadcaster/recipe.yaml b/recipes/ros-jazzy-joint-state-broadcaster/recipe.yaml
new file mode 100644
index 00000000..f4bcadf2
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-broadcaster/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joint-state-broadcaster
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/joint_state_broadcaster/4.20.0-1
+ target_directory: ros-jazzy-joint-state-broadcaster/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-joint-state-publisher-gui/bld_ament_python.bat b/recipes/ros-jazzy-joint-state-publisher-gui/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher-gui/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joint-state-publisher-gui/build_ament_python.sh b/recipes/ros-jazzy-joint-state-publisher-gui/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher-gui/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-joint-state-publisher-gui/recipe.yaml b/recipes/ros-jazzy-joint-state-publisher-gui/recipe.yaml
new file mode 100644
index 00000000..ca031553
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher-gui/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joint-state-publisher-gui
+ version: 2.4.0
+source:
+ git: https://github.com/ros2-gbp/joint_state_publisher-release.git
+ tag: release/jazzy/joint_state_publisher_gui/2.4.0-3
+ target_directory: ros-jazzy-joint-state-publisher-gui/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-joint-state-publisher/bld_ament_python.bat b/recipes/ros-jazzy-joint-state-publisher/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joint-state-publisher/build_ament_python.sh b/recipes/ros-jazzy-joint-state-publisher/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-joint-state-publisher/recipe.yaml b/recipes/ros-jazzy-joint-state-publisher/recipe.yaml
new file mode 100644
index 00000000..6703ca40
--- /dev/null
+++ b/recipes/ros-jazzy-joint-state-publisher/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joint-state-publisher
+ version: 2.4.0
+source:
+ git: https://github.com/ros2-gbp/joint_state_publisher-release.git
+ tag: release/jazzy/joint_state_publisher/2.4.0-3
+ target_directory: ros-jazzy-joint-state-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2topic
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-joint-trajectory-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-joint-trajectory-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-joint-trajectory-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joint-trajectory-controller/build_ament_cmake.sh b/recipes/ros-jazzy-joint-trajectory-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-joint-trajectory-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-joint-trajectory-controller/recipe.yaml b/recipes/ros-jazzy-joint-trajectory-controller/recipe.yaml
new file mode 100644
index 00000000..ac2c8d3f
--- /dev/null
+++ b/recipes/ros-jazzy-joint-trajectory-controller/recipe.yaml
@@ -0,0 +1,118 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joint-trajectory-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/joint_trajectory_controller/4.20.0-1
+ target_directory: ros-jazzy-joint-trajectory-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-angles
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-rsl
+ - ros-jazzy-tl-expected
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tl-expected
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-joy/bld_ament_cmake.bat b/recipes/ros-jazzy-joy/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-joy/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-joy/build_ament_cmake.sh b/recipes/ros-jazzy-joy/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-joy/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-joy/recipe.yaml b/recipes/ros-jazzy-joy/recipe.yaml
new file mode 100644
index 00000000..361d48bc
--- /dev/null
+++ b/recipes/ros-jazzy-joy/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-joy
+ version: 3.3.0
+source:
+ git: https://github.com/ros2-gbp/joystick_drivers-release.git
+ tag: release/jazzy/joy/3.3.0-3
+ target_directory: ros-jazzy-joy/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdl2-vendor
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdl2-vendor
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh b/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-kdl-parser/recipe.yaml b/recipes/ros-jazzy-kdl-parser/recipe.yaml
new file mode 100644
index 00000000..f14341c5
--- /dev/null
+++ b/recipes/ros-jazzy-kdl-parser/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-kdl-parser
+ version: 2.11.0
+source:
+ git: https://github.com/ros2-gbp/kdl_parser-release.git
+ tag: release/jazzy/kdl_parser/2.11.0-3
+ target_directory: ros-jazzy-kdl-parser/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat b/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh b/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-keyboard-handler/recipe.yaml b/recipes/ros-jazzy-keyboard-handler/recipe.yaml
new file mode 100644
index 00000000..6b987714
--- /dev/null
+++ b/recipes/ros-jazzy-keyboard-handler/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-keyboard-handler
+ version: 0.3.1
+source:
+ git: https://github.com/ros2-gbp/keyboard_handler-release.git
+ tag: release/jazzy/keyboard_handler/0.3.1-2
+ target_directory: ros-jazzy-keyboard-handler/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-kinematics-interface-kdl/bld_ament_cmake.bat b/recipes/ros-jazzy-kinematics-interface-kdl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface-kdl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-kinematics-interface-kdl/build_ament_cmake.sh b/recipes/ros-jazzy-kinematics-interface-kdl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface-kdl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-kinematics-interface-kdl/recipe.yaml b/recipes/ros-jazzy-kinematics-interface-kdl/recipe.yaml
new file mode 100644
index 00000000..ac8ff055
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface-kdl/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-kinematics-interface-kdl
+ version: 1.2.1
+source:
+ git: https://github.com/ros2-gbp/kinematics_interface-release.git
+ tag: release/jazzy/kinematics_interface_kdl/1.2.1-1
+ target_directory: ros-jazzy-kinematics-interface-kdl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-kinematics-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-tf2-eigen-kdl
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-kinematics-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen-kdl
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-kinematics-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-kinematics-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-kinematics-interface/build_ament_cmake.sh b/recipes/ros-jazzy-kinematics-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-kinematics-interface/recipe.yaml b/recipes/ros-jazzy-kinematics-interface/recipe.yaml
new file mode 100644
index 00000000..94b7741d
--- /dev/null
+++ b/recipes/ros-jazzy-kinematics-interface/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-kinematics-interface
+ version: 1.2.1
+source:
+ git: https://github.com/ros2-gbp/kinematics_interface-release.git
+ tag: release/jazzy/kinematics_interface/1.2.1-1
+ target_directory: ros-jazzy-kinematics-interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-laser-filters/bld_ament_cmake.bat b/recipes/ros-jazzy-laser-filters/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-laser-filters/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-laser-filters/build_ament_cmake.sh b/recipes/ros-jazzy-laser-filters/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-laser-filters/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-laser-filters/recipe.yaml b/recipes/ros-jazzy-laser-filters/recipe.yaml
new file mode 100644
index 00000000..b38bda7d
--- /dev/null
+++ b/recipes/ros-jazzy-laser-filters/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-laser-filters
+ version: 2.0.8
+source:
+ git: https://github.com/ros2-gbp/laser_filters-release.git
+ tag: release/jazzy/laser_filters/2.0.8-1
+ target_directory: ros-jazzy-laser-filters/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-angles
+ - ros-jazzy-filters
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-filters
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-laser-geometry/bld_ament_cmake.bat b/recipes/ros-jazzy-laser-geometry/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-laser-geometry/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-laser-geometry/build_ament_cmake.sh b/recipes/ros-jazzy-laser-geometry/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-laser-geometry/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-laser-geometry/recipe.yaml b/recipes/ros-jazzy-laser-geometry/recipe.yaml
new file mode 100644
index 00000000..54905d5b
--- /dev/null
+++ b/recipes/ros-jazzy-laser-geometry/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-laser-geometry
+ version: 2.7.0
+source:
+ git: https://github.com/ros2-gbp/laser_geometry-release.git
+ tag: release/jazzy/laser_geometry/2.7.0-3
+ target_directory: ros-jazzy-laser-geometry/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - numpy
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-sensor-msgs-py
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-param-builder/bld_ament_python.bat b/recipes/ros-jazzy-launch-param-builder/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-param-builder/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-param-builder/build_ament_python.sh b/recipes/ros-jazzy-launch-param-builder/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-param-builder/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-param-builder/recipe.yaml b/recipes/ros-jazzy-launch-param-builder/recipe.yaml
new file mode 100644
index 00000000..6545b4c9
--- /dev/null
+++ b/recipes/ros-jazzy-launch-param-builder/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-param-builder
+ version: 0.1.1
+source:
+ git: https://github.com/ros2-gbp/launch_param_builder-release.git
+ tag: release/jazzy/launch_param_builder/0.1.1-4
+ target_directory: ros-jazzy-launch-param-builder/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-pytest/bld_ament_python.bat b/recipes/ros-jazzy-launch-pytest/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-pytest/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-pytest/build_ament_python.sh b/recipes/ros-jazzy-launch-pytest/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-pytest/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-pytest/recipe.yaml b/recipes/ros-jazzy-launch-pytest/recipe.yaml
new file mode 100644
index 00000000..10af4743
--- /dev/null
+++ b/recipes/ros-jazzy-launch-pytest/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-pytest
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch_pytest/3.4.3-1
+ target_directory: ros-jazzy-launch-pytest/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pytest
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-ros/bld_ament_python.bat b/recipes/ros-jazzy-launch-ros/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-ros/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-ros/build_ament_python.sh b/recipes/ros-jazzy-launch-ros/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-ros/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-ros/recipe.yaml b/recipes/ros-jazzy-launch-ros/recipe.yaml
new file mode 100644
index 00000000..4d8d8b1a
--- /dev/null
+++ b/recipes/ros-jazzy-launch-ros/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-ros
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/launch_ros-release.git
+ tag: release/jazzy/launch_ros/0.26.6-1
+ target_directory: ros-jazzy-launch-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - importlib-metadata
+ - numpy
+ - pip
+ - pytest
+ - python
+ - pyyaml
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - importlib-metadata
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml b/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml
new file mode 100644
index 00000000..29036faa
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-testing-ament-cmake
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch_testing_ament_cmake/3.4.3-1
+ target_directory: ros-jazzy-launch-testing-ament-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-launch-testing
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-launch-testing
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat b/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh b/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-testing-ros/recipe.yaml b/recipes/ros-jazzy-launch-testing-ros/recipe.yaml
new file mode 100644
index 00000000..20782819
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing-ros/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-testing-ros
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/launch_ros-release.git
+ tag: release/jazzy/launch_testing_ros/0.26.6-1
+ target_directory: ros-jazzy-launch-testing-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-testing/bld_ament_python.bat b/recipes/ros-jazzy-launch-testing/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-testing/build_ament_python.sh b/recipes/ros-jazzy-launch-testing/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-testing/recipe.yaml b/recipes/ros-jazzy-launch-testing/recipe.yaml
new file mode 100644
index 00000000..a234cab1
--- /dev/null
+++ b/recipes/ros-jazzy-launch-testing/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-testing
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch_testing/3.4.3-1
+ target_directory: ros-jazzy-launch-testing/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pytest
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-xml/bld_ament_python.bat b/recipes/ros-jazzy-launch-xml/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-xml/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-xml/build_ament_python.sh b/recipes/ros-jazzy-launch-xml/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-xml/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-xml/recipe.yaml b/recipes/ros-jazzy-launch-xml/recipe.yaml
new file mode 100644
index 00000000..90d4809e
--- /dev/null
+++ b/recipes/ros-jazzy-launch-xml/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-xml
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch_xml/3.4.3-1
+ target_directory: ros-jazzy-launch-xml/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-launch
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat b/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch-yaml/build_ament_python.sh b/recipes/ros-jazzy-launch-yaml/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch-yaml/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch-yaml/recipe.yaml b/recipes/ros-jazzy-launch-yaml/recipe.yaml
new file mode 100644
index 00000000..89931969
--- /dev/null
+++ b/recipes/ros-jazzy-launch-yaml/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch-yaml
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch_yaml/3.4.3-1
+ target_directory: ros-jazzy-launch-yaml/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-launch
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-launch/bld_ament_python.bat b/recipes/ros-jazzy-launch/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-launch/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-launch/build_ament_python.sh b/recipes/ros-jazzy-launch/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-launch/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-launch/recipe.yaml b/recipes/ros-jazzy-launch/recipe.yaml
new file mode 100644
index 00000000..1996f9d4
--- /dev/null
+++ b/recipes/ros-jazzy-launch/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-launch
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/launch-release.git
+ tag: release/jazzy/launch/3.4.3-1
+ target_directory: ros-jazzy-launch/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-mypy
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - importlib-metadata
+ - lark-parser
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-libcurl-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-libcurl-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-libcurl-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-libcurl-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-libcurl-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-libcurl-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-libcurl-vendor/recipe.yaml b/recipes/ros-jazzy-libcurl-vendor/recipe.yaml
new file mode 100644
index 00000000..1846168f
--- /dev/null
+++ b/recipes/ros-jazzy-libcurl-vendor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-libcurl-vendor
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/resource_retriever-release.git
+ tag: release/jazzy/libcurl_vendor/3.4.3-1
+ target_directory: ros-jazzy-libcurl-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - file
+ - libcurl
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libcurl
+ - pkg-config
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-liblz4-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-liblz4-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-liblz4-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-liblz4-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-liblz4-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-liblz4-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-liblz4-vendor/recipe.yaml b/recipes/ros-jazzy-liblz4-vendor/recipe.yaml
new file mode 100644
index 00000000..3a9183f0
--- /dev/null
+++ b/recipes/ros-jazzy-liblz4-vendor/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-liblz4-vendor
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/liblz4_vendor/0.26.6-1
+ target_directory: ros-jazzy-liblz4-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - lz4
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - lz4
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat b/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh b/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-libstatistics-collector/recipe.yaml b/recipes/ros-jazzy-libstatistics-collector/recipe.yaml
new file mode 100644
index 00000000..df85a8f2
--- /dev/null
+++ b/recipes/ros-jazzy-libstatistics-collector/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-libstatistics-collector
+ version: 1.7.4
+source:
+ git: https://github.com/ros2-gbp/libstatistics_collector-release.git
+ tag: release/jazzy/libstatistics_collector/1.7.4-1
+ target_directory: ros-jazzy-libstatistics-collector/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcl
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-statistics-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-rcl
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-statistics-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-libyaml-vendor/recipe.yaml b/recipes/ros-jazzy-libyaml-vendor/recipe.yaml
new file mode 100644
index 00000000..b170024b
--- /dev/null
+++ b/recipes/ros-jazzy-libyaml-vendor/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-libyaml-vendor
+ version: 1.6.3
+source:
+ git: https://github.com/ros2-gbp/libyaml_vendor-release.git
+ tag: release/jazzy/libyaml_vendor/1.6.3-2
+ target_directory: ros-jazzy-libyaml-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ run:
+ - pkg-config
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml b/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml
new file mode 100644
index 00000000..26facb99
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-lifecycle-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/lifecycle_msgs/2.0.2-2
+ target_directory: ros-jazzy-lifecycle-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-lifecycle/bld_ament_cmake.bat b/recipes/ros-jazzy-lifecycle/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-lifecycle/build_ament_cmake.sh b/recipes/ros-jazzy-lifecycle/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-lifecycle/recipe.yaml b/recipes/ros-jazzy-lifecycle/recipe.yaml
new file mode 100644
index 00000000..a32e90ef
--- /dev/null
+++ b/recipes/ros-jazzy-lifecycle/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-lifecycle
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/lifecycle/0.33.5-1
+ target_directory: ros-jazzy-lifecycle/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-logging-demo/bld_ament_cmake.bat b/recipes/ros-jazzy-logging-demo/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-logging-demo/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-logging-demo/build_ament_cmake.sh b/recipes/ros-jazzy-logging-demo/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-logging-demo/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-logging-demo/recipe.yaml b/recipes/ros-jazzy-logging-demo/recipe.yaml
new file mode 100644
index 00000000..b6894db2
--- /dev/null
+++ b/recipes/ros-jazzy-logging-demo/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-logging-demo
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/logging_demo/0.33.5-1
+ target_directory: ros-jazzy-logging-demo/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-map-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-map-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-map-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-map-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-map-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-map-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-map-msgs/recipe.yaml b/recipes/ros-jazzy-map-msgs/recipe.yaml
new file mode 100644
index 00000000..45c3d816
--- /dev/null
+++ b/recipes/ros-jazzy-map-msgs/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-map-msgs
+ version: 2.4.1
+source:
+ git: https://github.com/ros2-gbp/navigation_msgs-release.git
+ tag: release/jazzy/map_msgs/2.4.1-2
+ target_directory: ros-jazzy-map-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-mcap-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-mcap-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-mcap-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-mcap-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-mcap-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-mcap-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-mcap-vendor/recipe.yaml b/recipes/ros-jazzy-mcap-vendor/recipe.yaml
new file mode 100644
index 00000000..e67beaf0
--- /dev/null
+++ b/recipes/ros-jazzy-mcap-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-mcap-vendor
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/mcap_vendor/0.26.6-1
+ target_directory: ros-jazzy-mcap-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-liblz4-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-zstd-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-liblz4-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-zstd-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-mecanum-drive-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-mecanum-drive-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-mecanum-drive-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-mecanum-drive-controller/build_ament_cmake.sh b/recipes/ros-jazzy-mecanum-drive-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-mecanum-drive-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-mecanum-drive-controller/recipe.yaml b/recipes/ros-jazzy-mecanum-drive-controller/recipe.yaml
new file mode 100644
index 00000000..111f8a0d
--- /dev/null
+++ b/recipes/ros-jazzy-mecanum-drive-controller/recipe.yaml
@@ -0,0 +1,117 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-mecanum-drive-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/mecanum_drive_controller/4.20.0-1
+ target_directory: ros-jazzy-mecanum-drive-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat b/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-message-filters/build_ament_cmake.sh b/recipes/ros-jazzy-message-filters/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-message-filters/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-message-filters/recipe.yaml b/recipes/ros-jazzy-message-filters/recipe.yaml
new file mode 100644
index 00000000..92988681
--- /dev/null
+++ b/recipes/ros-jazzy-message-filters/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-message-filters
+ version: 4.11.3
+source:
+ git: https://github.com/ros2-gbp/ros2_message_filters-release.git
+ tag: release/jazzy/message_filters/4.11.3-1
+ target_directory: ros-jazzy-message-filters/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-mimick-vendor/recipe.yaml b/recipes/ros-jazzy-mimick-vendor/recipe.yaml
new file mode 100644
index 00000000..7b7d4fee
--- /dev/null
+++ b/recipes/ros-jazzy-mimick-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-mimick-vendor
+ version: 0.6.2
+source:
+ git: https://github.com/ros2-gbp/mimick_vendor-release.git
+ tag: release/jazzy/mimick_vendor/0.6.2-1
+ target_directory: ros-jazzy-mimick-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - vcstool
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-common/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-common/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-common/recipe.yaml b/recipes/ros-jazzy-moveit-common/recipe.yaml
new file mode 100644
index 00000000..ea20ea4a
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-common/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-common
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_common/2.12.1-1
+ target_directory: ros-jazzy-moveit-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-backward-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-configs-utils/bld_ament_python.bat b/recipes/ros-jazzy-moveit-configs-utils/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-configs-utils/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-configs-utils/build_ament_python.sh b/recipes/ros-jazzy-moveit-configs-utils/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-configs-utils/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-moveit-configs-utils/recipe.yaml b/recipes/ros-jazzy-moveit-configs-utils/recipe.yaml
new file mode 100644
index 00000000..994440fc
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-configs-utils/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-configs-utils
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_configs_utils/2.12.1-1
+ target_directory: ros-jazzy-moveit-configs-utils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-param-builder
+ - ros-jazzy-launch-ros
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-srdfdom
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-core/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-core/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-core/patch/ros-jazzy-moveit-core.patch b/recipes/ros-jazzy-moveit-core/patch/ros-jazzy-moveit-core.patch
new file mode 100644
index 00000000..0ddb89b4
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-core/patch/ros-jazzy-moveit-core.patch
@@ -0,0 +1,131 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 608babbeb..a006b45fc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,7 +20,7 @@ find_package(kdl_parser REQUIRED)
+ find_package(moveit_msgs REQUIRED)
+ # Enforce system version liboctomap-dev
+ # https://github.com/moveit/moveit2/issues/2862
+-find_package(octomap 1.9.7...<1.10.0 REQUIRED)
++find_package(octomap REQUIRED)
+ find_package(octomap_msgs REQUIRED)
+ find_package(osqp REQUIRED)
+ find_package(pluginlib REQUIRED)
+diff --git a/collision_detection/include/moveit/collision_detection/collision_common.hpp b/collision_detection/include/moveit/collision_detection/collision_common.hpp
+index 19777a044..af3a89442 100644
+--- a/collision_detection/include/moveit/collision_detection/collision_common.hpp
++++ b/collision_detection/include/moveit/collision_detection/collision_common.hpp
+@@ -141,7 +141,33 @@ struct CostSource
+ }
+ };
+
+-struct CollisionResult;
++/** \brief Representation of a collision checking result */
++struct CollisionResult
++{
++ using ContactMap = std::map, std::vector >;
++ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
++ /** \brief Clear a previously stored result */
++ void clear()
++ {
++ collision = false;
++ distance = std::numeric_limits::max();
++ contact_count = 0;
++ contacts.clear();
++ cost_sources.clear();
++ }
++ /** \brief Throttled warning printing the first collision pair, if any. All collisions are logged at DEBUG level */
++ void print() const;
++ /** \brief True if collision was found, false otherwise */
++ bool collision = false;
++ /** \brief Closest distance between two bodies */
++ double distance = std::numeric_limits::max();
++ /** \brief Number of contacts returned */
++ std::size_t contact_count = 0;
++ /** \brief A map returning the pairs of body ids in contact, plus their contact details */
++ ContactMap contacts;
++ /** \brief These are the individual cost sources when costs are computed */
++ std::set cost_sources;
++};
+
+ /** \brief Representation of a collision checking request */
+ struct CollisionRequest
+@@ -159,9 +185,6 @@ struct CollisionRequest
+ /** \brief If true, compute proximity distance */
+ bool distance = false;
+
+- /** \brief If true, return detailed distance information. Distance must be set to true as well */
+- bool detailed_distance = false;
+-
+ /** \brief If true, a collision cost is computed */
+ bool cost = false;
+
+@@ -330,42 +353,4 @@ struct DistanceResult
+ }
+ };
+
+-/** \brief Representation of a collision checking result */
+-struct CollisionResult
+-{
+- EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+-
+- /** \brief Clear a previously stored result */
+- void clear()
+- {
+- collision = false;
+- distance = std::numeric_limits::max();
+- distance_result.clear();
+- contact_count = 0;
+- contacts.clear();
+- cost_sources.clear();
+- }
+-
+- /** \brief Throttled warning printing the first collision pair, if any. All collisions are logged at DEBUG level */
+- void print() const;
+-
+- /** \brief True if collision was found, false otherwise */
+- bool collision = false;
+-
+- /** \brief Closest distance between two bodies */
+- double distance = std::numeric_limits::max();
+-
+- /** \brief Distance data for each link */
+- DistanceResult distance_result;
+-
+- /** \brief Number of contacts returned */
+- std::size_t contact_count = 0;
+-
+- /** \brief A map returning the pairs of body ids in contact, plus their contact details */
+- using ContactMap = std::map, std::vector >;
+- ContactMap contacts;
+-
+- /** \brief These are the individual cost sources when costs are computed */
+- std::set cost_sources;
+-};
+ } // namespace collision_detection
+diff --git a/collision_detection_fcl/src/collision_env_fcl.cpp b/collision_detection_fcl/src/collision_env_fcl.cpp
+index b57e0767e..c655ed069 100644
+--- a/collision_detection_fcl/src/collision_env_fcl.cpp
++++ b/collision_detection_fcl/src/collision_env_fcl.cpp
+@@ -290,10 +290,6 @@ void CollisionEnvFCL::checkSelfCollisionHelper(const CollisionRequest& req, Coll
+ dreq.enableGroup(getRobotModel());
+ distanceSelf(dreq, dres, state);
+ res.distance = dres.minimum_distance.distance;
+- if (req.detailed_distance)
+- {
+- res.distance_result = dres;
+- }
+ }
+ }
+
+@@ -347,10 +343,6 @@ void CollisionEnvFCL::checkRobotCollisionHelper(const CollisionRequest& req, Col
+ dreq.enableGroup(getRobotModel());
+ distanceRobot(dreq, dres, state);
+ res.distance = dres.minimum_distance.distance;
+- if (req.detailed_distance)
+- {
+- res.distance_result = dres;
+- }
+ }
+ }
+
diff --git a/recipes/ros-jazzy-moveit-core/recipe.yaml b/recipes/ros-jazzy-moveit-core/recipe.yaml
new file mode 100644
index 00000000..83ed7676
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-core/recipe.yaml
@@ -0,0 +1,171 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-core
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_core/2.12.1-1
+ target_directory: ros-jazzy-moveit-core/src/work
+ patches:
+ - patch/ros-jazzy-moveit-core.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - bullet
+ - eigen
+ - fcl
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-angles
+ - ros-jazzy-common-interfaces
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-google-benchmark-vendor
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-resources-pr2-description
+ - ros-jazzy-octomap-msgs
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-osqp-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-random-numbers
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-ruckig
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-srdfdom
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom
+ - ros-jazzy-urdfdom-headers
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - assimp
+ - bullet
+ - eigen
+ - fcl
+ - libboost-devel
+ - libboost-python-devel
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-common-interfaces
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-google-benchmark-vendor
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-octomap-msgs
+ - ros-jazzy-osqp-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-random-numbers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-ruckig
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-srdfdom
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom
+ - ros-jazzy-urdfdom-headers
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-kinematics/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-kinematics/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-kinematics/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-kinematics/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-kinematics/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-kinematics/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-kinematics/patch/ros-jazzy-moveit-kinematics.patch b/recipes/ros-jazzy-moveit-kinematics/patch/ros-jazzy-moveit-kinematics.patch
new file mode 100644
index 00000000..6f2e9ac7
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-kinematics/patch/ros-jazzy-moveit-kinematics.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 21b03dfb1..5a76c1683 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,8 @@
+ cmake_minimum_required(VERSION 3.22)
+ project(moveit_kinematics LANGUAGES CXX)
+
++add_definitions(-DNOMINMAX)
++
+ # Common cmake code applied to all moveit packages
+ find_package(moveit_common REQUIRED)
+ moveit_package()
+diff --git a/cached_ik_kinematics_plugin/include/moveit/cached_ik_kinematics_plugin/detail/GreedyKCenters.hpp b/cached_ik_kinematics_plugin/include/moveit/cached_ik_kinematics_plugin/detail/GreedyKCenters.hpp
+index 173471c7e..47e47e2db 100644
+--- a/cached_ik_kinematics_plugin/include/moveit/cached_ik_kinematics_plugin/detail/GreedyKCenters.hpp
++++ b/cached_ik_kinematics_plugin/include/moveit/cached_ik_kinematics_plugin/detail/GreedyKCenters.hpp
+@@ -92,7 +92,7 @@ public:
+ centers.clear();
+ centers.reserve(k);
+ if (static_cast(dists.rows()) < data.size() || static_cast(dists.cols()) < k)
+- dists.resize(std::max(2 * static_cast(dists.rows()) + 1, data.size()), k);
++ dists.resize(std::max(2 * ((long unsigned int)dists.rows()) + 1, (long unsigned int)data.size()), k);
+ // first center is picked randomly
+ centers.push_back(std::uniform_int_distribution{ 0, data.size() - 1 }(rsl::rng()));
+ for (unsigned i = 1; i < k; ++i)
diff --git a/recipes/ros-jazzy-moveit-kinematics/recipe.yaml b/recipes/ros-jazzy-moveit-kinematics/recipe.yaml
new file mode 100644
index 00000000..b933b004
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-kinematics/recipe.yaml
@@ -0,0 +1,120 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-kinematics
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_kinematics/2.12.1-1
+ target_directory: ros-jazzy-moveit-kinematics/src/work
+ patches:
+ - patch/ros-jazzy-moveit-kinematics.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-class-loader
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-launch-param-builder
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-fanuc-description
+ - ros-jazzy-moveit-resources-fanuc-moveit-config
+ - ros-jazzy-moveit-resources-panda-description
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-kdl
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - lxml
+ - python
+ - ros-jazzy-class-loader
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-urdfdom
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-msgs/recipe.yaml b/recipes/ros-jazzy-moveit-msgs/recipe.yaml
new file mode 100644
index 00000000..af28f3da
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-msgs/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-msgs
+ version: 2.6.0
+source:
+ git: https://github.com/ros2-gbp/moveit_msgs-release.git
+ tag: release/jazzy/moveit_msgs/2.6.0-1
+ target_directory: ros-jazzy-moveit-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-object-recognition-msgs
+ - ros-jazzy-octomap-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-object-recognition-msgs
+ - ros-jazzy-octomap-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-planners-chomp/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-planners-chomp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-chomp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-planners-chomp/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-planners-chomp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-chomp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-planners-chomp/recipe.yaml b/recipes/ros-jazzy-moveit-planners-chomp/recipe.yaml
new file mode 100644
index 00000000..81903ef3
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-chomp/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-planners-chomp
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_planners_chomp/2.12.1-1
+ target_directory: ros-jazzy-moveit-planners-chomp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-chomp-motion-planner
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-chomp-motion-planner
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-planners-ompl/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-planners-ompl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-ompl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-planners-ompl/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-planners-ompl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-ompl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-planners-ompl/patch/ros-jazzy-moveit-planners-ompl.patch b/recipes/ros-jazzy-moveit-planners-ompl/patch/ros-jazzy-moveit-planners-ompl.patch
new file mode 100644
index 00000000..bd45f39f
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-ompl/patch/ros-jazzy-moveit-planners-ompl.patch
@@ -0,0 +1,18 @@
+diff --git a/ompl_interface/CMakeLists.txt b/ompl_interface/CMakeLists.txt
+index ff71c07c..0d0aef71 100644
+--- a/ompl_interface/CMakeLists.txt
++++ b/ompl_interface/CMakeLists.txt
+@@ -24,7 +24,12 @@ add_library(${MOVEIT_LIB_NAME} SHARED
+ )
+ set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
+
+-find_package(OpenMP REQUIRED)
++if(APPLE)
++ find_package(OpenMP)
++ set(OpenMP_CXX_FLAGS "-fopenmp")
++else()
++ find_package(OpenMP REQUIRED)
++endif()
+
+ # Used to link in ODE, an OMPL dependency, on macOS
+ if(APPLE)
diff --git a/recipes/ros-jazzy-moveit-planners-ompl/recipe.yaml b/recipes/ros-jazzy-moveit-planners-ompl/recipe.yaml
new file mode 100644
index 00000000..efb995ab
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-ompl/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-planners-ompl
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_planners_ompl/2.12.1-1
+ target_directory: ros-jazzy-moveit-planners-ompl/src/work
+ patches:
+ - patch/ros-jazzy-moveit-planners-ompl.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libgomp
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-fanuc-moveit-config
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-resources-pr2-description
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-ompl
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libgomp
+ - python
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-ompl
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-planners-stomp/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-planners-stomp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-stomp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-planners-stomp/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-planners-stomp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-stomp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-planners-stomp/recipe.yaml b/recipes/ros-jazzy-moveit-planners-stomp/recipe.yaml
new file mode 100644
index 00000000..927eeac5
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners-stomp/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-planners-stomp
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_planners_stomp/2.12.1-1
+ target_directory: ros-jazzy-moveit-planners-stomp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-std-msgs
+ - ros-jazzy-stomp
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-std-msgs
+ - ros-jazzy-stomp
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-planners/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-planners/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-planners/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-planners/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-planners/recipe.yaml b/recipes/ros-jazzy-moveit-planners/recipe.yaml
new file mode 100644
index 00000000..e90fc733
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-planners/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-planners
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_planners/2.12.1-1
+ target_directory: ros-jazzy-moveit-planners/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-chomp-motion-planner
+ - ros-jazzy-moveit-planners-ompl
+ - ros-jazzy-moveit-planners-stomp
+ - ros-jazzy-pilz-industrial-motion-planner
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-plugins/recipe.yaml b/recipes/ros-jazzy-moveit-plugins/recipe.yaml
new file mode 100644
index 00000000..2dc34a9d
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-plugins/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-plugins
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_plugins/2.12.1-1
+ target_directory: ros-jazzy-moveit-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-moveit-simple-controller-manager
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-description/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-fanuc-description/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-description/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-description/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-fanuc-description/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-description/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-description/recipe.yaml b/recipes/ros-jazzy-moveit-resources-fanuc-description/recipe.yaml
new file mode 100644
index 00000000..a5e2043e
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-description/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-fanuc-description
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/moveit_resources-release.git
+ tag: release/jazzy/moveit_resources_fanuc_description/3.1.0-1
+ target_directory: ros-jazzy-moveit-resources-fanuc-description/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/recipe.yaml b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/recipe.yaml
new file mode 100644
index 00000000..73e0afc2
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-fanuc-moveit-config/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-fanuc-moveit-config
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/moveit_resources-release.git
+ tag: release/jazzy/moveit_resources_fanuc_moveit_config/3.1.0-1
+ target_directory: ros-jazzy-moveit-resources-fanuc-moveit-config/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-controller-manager
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-moveit-resources-fanuc-description
+ - ros-jazzy-position-controllers
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli-common-extensions
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-panda-description/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-panda-description/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-description/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-panda-description/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-panda-description/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-description/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-panda-description/recipe.yaml b/recipes/ros-jazzy-moveit-resources-panda-description/recipe.yaml
new file mode 100644
index 00000000..bae35206
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-description/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-panda-description
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/moveit_resources-release.git
+ tag: release/jazzy/moveit_resources_panda_description/3.1.0-1
+ target_directory: ros-jazzy-moveit-resources-panda-description/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-panda-moveit-config/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-panda-moveit-config/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-panda-moveit-config/recipe.yaml b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/recipe.yaml
new file mode 100644
index 00000000..975b5925
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-panda-moveit-config/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-panda-moveit-config
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/moveit_resources-release.git
+ tag: release/jazzy/moveit_resources_panda_moveit_config/3.1.0-1
+ target_directory: ros-jazzy-moveit-resources-panda-moveit-config/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-controller-manager
+ - ros-jazzy-gripper-controllers
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-joint-state-publisher-gui
+ - ros-jazzy-moveit-resources-panda-description
+ - ros-jazzy-position-controllers
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli-common-extensions
+ - ros-jazzy-topic-tools
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-pr2-description/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-pr2-description/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-pr2-description/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-pr2-description/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-pr2-description/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-pr2-description/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-pr2-description/recipe.yaml b/recipes/ros-jazzy-moveit-resources-pr2-description/recipe.yaml
new file mode 100644
index 00000000..3495868a
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-pr2-description/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-pr2-description
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/moveit_resources-release.git
+ tag: release/jazzy/moveit_resources_pr2_description/3.1.0-1
+ target_directory: ros-jazzy-moveit-resources-pr2-description/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml
new file mode 100644
index 00000000..3a7ef154
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_resources_prbt_ikfast_manipulator_plugin/2.12.1-1
+ target_directory: ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-eigen-kdl
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/recipe.yaml b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/recipe.yaml
new file mode 100644
index 00000000..1f305d1f
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-moveit-config/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-prbt-moveit-config
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_resources_prbt_moveit_config/2.12.1-1
+ target_directory: ros-jazzy-moveit-resources-prbt-moveit-config/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin
+ - ros-jazzy-moveit-resources-prbt-support
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/recipe.yaml b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/recipe.yaml
new file mode 100644
index 00000000..19bbe193
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-pg70-support/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-prbt-pg70-support
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_resources_prbt_pg70_support/2.12.1-1
+ target_directory: ros-jazzy-moveit-resources-prbt-pg70-support/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin
+ - ros-jazzy-moveit-resources-prbt-moveit-config
+ - ros-jazzy-moveit-resources-prbt-support
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-support/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-resources-prbt-support/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-support/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-support/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-resources-prbt-support/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-support/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-resources-prbt-support/recipe.yaml b/recipes/ros-jazzy-moveit-resources-prbt-support/recipe.yaml
new file mode 100644
index 00000000..cd8d4698
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-resources-prbt-support/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-resources-prbt-support
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_resources_prbt_support/2.12.1-1
+ target_directory: ros-jazzy-moveit-resources-prbt-support/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-benchmarks/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-benchmarks/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-benchmarks/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-benchmarks/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-benchmarks/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-benchmarks/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-benchmarks/recipe.yaml b/recipes/ros-jazzy-moveit-ros-benchmarks/recipe.yaml
new file mode 100644
index 00000000..b0ff79c0
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-benchmarks/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-benchmarks
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_benchmarks/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-benchmarks/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libboost
+ - python
+ - ros-jazzy-launch-param-builder
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-move-group/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-move-group/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-move-group/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-move-group/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-move-group/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-move-group/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-move-group/patch/ros-jazzy-moveit-ros-move-group.patch b/recipes/ros-jazzy-moveit-ros-move-group/patch/ros-jazzy-moveit-ros-move-group.patch
new file mode 100644
index 00000000..87533b4c
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-move-group/patch/ros-jazzy-moveit-ros-move-group.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2cdebb6ee9..ee4cc0abad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -73,7 +73,7 @@ add_executable(list_move_group_capabilities src/list_capabilities.cpp)
+ ament_target_dependencies(list_move_group_capabilities
+ ${THIS_PACKAGE_INCLUDE_DEPENDS})
+ target_link_libraries(list_move_group_capabilities
+- moveit_move_group_capabilities_base fmt)
++ moveit_move_group_capabilities_base fmt::fmt)
+
+ install(TARGETS move_group list_move_group_capabilities
+ RUNTIME DESTINATION lib/moveit_ros_move_group)
diff --git a/recipes/ros-jazzy-moveit-ros-move-group/recipe.yaml b/recipes/ros-jazzy-moveit-ros-move-group/recipe.yaml
new file mode 100644
index 00000000..620cf457
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-move-group/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-move-group
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_move_group/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-move-group/src/work
+ patches:
+ - patch/ros-jazzy-moveit-ros-move-group.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-resources-fanuc-moveit-config
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-ros-occupancy-map-monitor
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - fmt
+ - python
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-kinematics
+ - ros-jazzy-moveit-ros-occupancy-map-monitor
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/patch/ros-jazzy-moveit-ros-occupancy-map-monitor.patch b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/patch/ros-jazzy-moveit-ros-occupancy-map-monitor.patch
new file mode 100644
index 00000000..d062f1b4
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/patch/ros-jazzy-moveit-ros-occupancy-map-monitor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b8dd549bc..5f9f8ef59 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,7 +15,7 @@ find_package(pluginlib REQUIRED)
+ find_package(Eigen3 REQUIRED)
+ # Enforce system version liboctomap-dev
+ # https://github.com/moveit/moveit2/issues/2862
+-find_package(octomap 1.9.7...<1.10.0 REQUIRED)
++find_package(octomap REQUIRED)
+ find_package(geometric_shapes REQUIRED)
+ find_package(tf2_ros REQUIRED)
+
diff --git a/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/recipe.yaml b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/recipe.yaml
new file mode 100644
index 00000000..b62f091d
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-occupancy-map-monitor/recipe.yaml
@@ -0,0 +1,105 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-occupancy-map-monitor
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_occupancy_map_monitor/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-occupancy-map-monitor/src/work
+ patches:
+ - patch/ros-jazzy-moveit-ros-occupancy-map-monitor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-planning-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-planning-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-planning-interface/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-planning-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-planning-interface/recipe.yaml b/recipes/ros-jazzy-moveit-ros-planning-interface/recipe.yaml
new file mode 100644
index 00000000..2036c78c
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning-interface/recipe.yaml
@@ -0,0 +1,121 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-planning-interface
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_planning_interface/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-planning-interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-fanuc-moveit-config
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-moveit-simple-controller-manager
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-planning/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-planning/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-planning/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-planning/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-planning/recipe.yaml b/recipes/ros-jazzy-moveit-ros-planning/recipe.yaml
new file mode 100644
index 00000000..8b0ec59f
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-planning/recipe.yaml
@@ -0,0 +1,134 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-planning
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_planning/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-planning/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-message-filters
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-ros-occupancy-map-monitor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-srdfdom
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - fmt
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-message-filters
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-occupancy-map-monitor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-srdfdom
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-robot-interaction/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-robot-interaction/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-robot-interaction/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-robot-interaction/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-robot-interaction/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-robot-interaction/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-robot-interaction/recipe.yaml b/recipes/ros-jazzy-moveit-ros-robot-interaction/recipe.yaml
new file mode 100644
index 00000000..d8d37534
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-robot-interaction/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-robot-interaction
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_robot_interaction/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-robot-interaction/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros-visualization/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-visualization/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-visualization/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-visualization/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-visualization/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-visualization/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-visualization/recipe.yaml b/recipes/ros-jazzy-moveit-ros-visualization/recipe.yaml
new file mode 100644
index 00000000..7e0d5a0b
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-visualization/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-visualization
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_visualization/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-visualization/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-class-loader
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-ros-planning-interface
+ - ros-jazzy-moveit-ros-robot-interaction
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-object-recognition-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-tf2-eigen
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-geometric-shapes
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-ros-planning-interface
+ - ros-jazzy-moveit-ros-robot-interaction
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-object-recognition-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-tf2-eigen
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-ros-warehouse/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros-warehouse/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-warehouse/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros-warehouse/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros-warehouse/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-warehouse/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros-warehouse/recipe.yaml b/recipes/ros-jazzy-moveit-ros-warehouse/recipe.yaml
new file mode 100644
index 00000000..e43dc2dc
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros-warehouse/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros-warehouse
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros_warehouse/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros-warehouse/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-warehouse-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - fmt
+ - python
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-warehouse-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-ros/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-ros/recipe.yaml b/recipes/ros-jazzy-moveit-ros/recipe.yaml
new file mode 100644
index 00000000..ca378905
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-ros/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-ros
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_ros/2.12.1-1
+ target_directory: ros-jazzy-moveit-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-moveit-ros-benchmarks
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-planning-interface
+ - ros-jazzy-moveit-ros-robot-interaction
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-ros-warehouse
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-servo/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-servo/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-servo/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-servo/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-servo/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-servo/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-servo/recipe.yaml b/recipes/ros-jazzy-moveit-servo/recipe.yaml
new file mode 100644
index 00000000..7a05a018
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-servo/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-servo
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_servo/2.12.1-1
+ target_directory: ros-jazzy-moveit-servo/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-control-msgs
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-planning-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gripper-controllers
+ - ros-jazzy-joint-state-broadcaster
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-joy
+ - ros-jazzy-launch-param-builder
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-planning-interface
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-pluginlib
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-setup-app-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-app-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-app-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-app-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-app-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-app-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-app-plugins/recipe.yaml b/recipes/ros-jazzy-moveit-setup-app-plugins/recipe.yaml
new file mode 100644
index 00000000..ace0e5df
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-app-plugins/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-app-plugins
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_app_plugins/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-app-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-setup-assistant/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-assistant/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-assistant/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-assistant/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-assistant/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-assistant/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-assistant/patch/ros-jazzy-moveit-setup-assistant.patch b/recipes/ros-jazzy-moveit-setup-assistant/patch/ros-jazzy-moveit-setup-assistant.patch
new file mode 100644
index 00000000..6b7a2d22
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-assistant/patch/ros-jazzy-moveit-setup-assistant.patch
@@ -0,0 +1,35 @@
+diff --git a/src/collisions_updater.cpp b/src/collisions_updater.cpp
+index d8963e1be..f99e493ac 100644
+--- a/src/collisions_updater.cpp
++++ b/src/collisions_updater.cpp
+@@ -100,7 +100,7 @@ int main(int argc, char* argv[])
+ auto package_settings = config_data->get("package_settings");
+ try
+ {
+- package_settings->loadExisting(config_pkg_path);
++ package_settings->loadExisting(config_pkg_path.string());
+ }
+ catch (const std::runtime_error& e)
+ {
+@@ -113,7 +113,7 @@ int main(int argc, char* argv[])
+ RCLCPP_ERROR_STREAM(node->get_logger(), "Please provide config package or URDF and SRDF path");
+ return 1;
+ }
+- else if (rdf_loader::RDFLoader::isXacroFile(srdf_path) && output_path.empty())
++ else if (rdf_loader::RDFLoader::isXacroFile(srdf_path.string()) && output_path.empty())
+ {
+ RCLCPP_ERROR_STREAM(node->get_logger(), "Please provide a different output file for SRDF xacro input file");
+ return 1;
+diff --git a/src/setup_assistant_widget.cpp b/src/setup_assistant_widget.cpp
+index 2d56b5e40..bab1ec094 100644
+--- a/src/setup_assistant_widget.cpp
++++ b/src/setup_assistant_widget.cpp
+@@ -71,7 +71,7 @@ SetupAssistantWidget::SetupAssistantWidget(const rviz_common::ros_integration::R
+
+ // Setting the window icon
+ auto icon_path = getSharePath("moveit_ros_visualization") / "icons/classes/MotionPlanning.png";
+- setWindowIcon(QIcon(icon_path.c_str()));
++ setWindowIcon(QIcon(icon_path.string().c_str()));
+
+ // Basic widget container -----------------------------------------
+ QHBoxLayout* layout = new QHBoxLayout();
diff --git a/recipes/ros-jazzy-moveit-setup-assistant/recipe.yaml b/recipes/ros-jazzy-moveit-setup-assistant/recipe.yaml
new file mode 100644
index 00000000..fbb9541d
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-assistant/recipe.yaml
@@ -0,0 +1,119 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-assistant
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_assistant/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-assistant/src/work
+ patches:
+ - patch/ros-jazzy-moveit-setup-assistant.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-moveit-setup-srdf-plugins
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-setup-app-plugins
+ - ros-jazzy-moveit-setup-controllers
+ - ros-jazzy-moveit-setup-core-plugins
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-moveit-setup-srdf-plugins
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-setup-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-controllers/recipe.yaml b/recipes/ros-jazzy-moveit-setup-controllers/recipe.yaml
new file mode 100644
index 00000000..44a70407
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-controllers/recipe.yaml
@@ -0,0 +1,108 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-controllers
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_controllers/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-resources-fanuc-moveit-config
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-setup-core-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-core-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-core-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-core-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-core-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-core-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-core-plugins/patch/ros-jazzy-moveit-setup-core-plugins.patch b/recipes/ros-jazzy-moveit-setup-core-plugins/patch/ros-jazzy-moveit-setup-core-plugins.patch
new file mode 100644
index 00000000..c742b556
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-core-plugins/patch/ros-jazzy-moveit-setup-core-plugins.patch
@@ -0,0 +1,88 @@
+diff --git a/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen.cpp b/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen.cpp
+index ff6827d6ff..b0550b1e90 100644
+--- a/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen.cpp
++++ b/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen.cpp
+@@ -70,7 +70,7 @@ std::filesystem::path StartScreen::getPackagePath()
+
+ void StartScreen::loadExisting(const std::filesystem::path& package_path)
+ {
+- package_settings_->loadExisting(package_path);
++ package_settings_->loadExisting(package_path.string());
+ }
+
+ bool StartScreen::isXacroFile()
+diff --git a/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen_widget.cpp b/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen_widget.cpp
+index 70bae9ddc9..82da843d60 100644
+--- a/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen_widget.cpp
++++ b/moveit_setup_assistant/moveit_setup_core_plugins/src/start_screen_widget.cpp
+@@ -79,7 +79,7 @@ void StartScreenWidget::onInit()
+ right_image_label_ = new QLabel(this);
+ auto image_path = getSharePath("moveit_setup_assistant") / "resources/MoveIt_Setup_Assistant2.png";
+
+- if (right_image_->load(image_path.c_str()))
++ if (right_image_->load(image_path.string().c_str()))
+ {
+ right_image_label_->setPixmap(QPixmap::fromImage(*right_image_));
+ right_image_label_->setMinimumHeight(384); // size of right_image_label_
+@@ -205,7 +205,7 @@ void StartScreenWidget::focusGiven()
+ std::filesystem::path pkg_path = setup_step_.getPackagePath();
+ if (!pkg_path.empty())
+ {
+- stack_path_->setPath(pkg_path);
++ stack_path_->setPath(pkg_path.string());
+ select_mode_->btn_exist_->click();
+ return;
+ }
+@@ -213,7 +213,7 @@ void StartScreenWidget::focusGiven()
+ std::filesystem::path urdf_path = setup_step_.getURDFPath();
+ if (!urdf_path.empty())
+ {
+- urdf_file_->setPath(urdf_path);
++ urdf_file_->setPath(urdf_path.string());
+ select_mode_->btn_new_->click();
+ }
+ }
+diff --git a/moveit_setup_assistant/moveit_setup_core_plugins/include/moveit_setup_core_plugins/configuration_files.hpp b/moveit_setup_assistant/moveit_setup_core_plugins/include/moveit_setup_core_plugins/configuration_files.hpp
+index bfca1e8d62..3d3f3ab386 100644
+--- a/moveit_setup_assistant/moveit_setup_core_plugins/include/moveit_setup_core_plugins/configuration_files.hpp
++++ b/moveit_setup_assistant/moveit_setup_core_plugins/include/moveit_setup_core_plugins/configuration_files.hpp
+@@ -80,7 +80,7 @@ class ConfigurationFiles : public SetupStep
+
+ bool shouldGenerate(const GeneratedFilePtr& file) const
+ {
+- std::string rel_path = file->getRelativePath();
++ std::string rel_path = file->getRelativePath().string();
+ auto it = should_generate_.find(rel_path);
+ if (it == should_generate_.end())
+ {
+diff --git a/moveit_setup_assistant/moveit_setup_core_plugins/src/configuration_files_widget.cpp b/moveit_setup_assistant/moveit_setup_core_plugins/src/configuration_files_widget.cpp
+index 9c76fc1d52..3e689772e3 100644
+--- a/moveit_setup_assistant/moveit_setup_core_plugins/src/configuration_files_widget.cpp
++++ b/moveit_setup_assistant/moveit_setup_core_plugins/src/configuration_files_widget.cpp
+@@ -294,7 +294,7 @@ void ConfigurationFilesWidget::changeCheckedState(QListWidgetItem* item)
+ }
+
+ // Enable/disable file
+- setup_step_.setShouldGenerate(gen_file->getRelativePath(), generate);
++ setup_step_.setShouldGenerate(gen_file->getRelativePath().string(), generate);
+ }
+
+ // ******************************************************************************************
+@@ -303,7 +303,7 @@ void ConfigurationFilesWidget::changeCheckedState(QListWidgetItem* item)
+ void ConfigurationFilesWidget::focusGiven()
+ {
+ // Pass the package path from start screen to configuration files screen
+- stack_path_->setPath(setup_step_.getPackagePath());
++ stack_path_->setPath(setup_step_.getPackagePath().string());
+
+ setup_step_.loadFiles();
+
+@@ -350,7 +350,7 @@ void ConfigurationFilesWidget::showGenFiles()
+ auto gen_file = gen_files[i];
+
+ // Create a formatted row
+- QListWidgetItem* item = new QListWidgetItem(QString(gen_file->getRelativePath().c_str()), action_list_, 0);
++ QListWidgetItem* item = new QListWidgetItem(QString(gen_file->getRelativePath().string().c_str()), action_list_, 0);
+
+ // Checkbox
+ item->setCheckState(setup_step_.shouldGenerate(gen_file) ? Qt::Checked : Qt::Unchecked);
diff --git a/recipes/ros-jazzy-moveit-setup-core-plugins/recipe.yaml b/recipes/ros-jazzy-moveit-setup-core-plugins/recipe.yaml
new file mode 100644
index 00000000..a1864b0e
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-core-plugins/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-core-plugins
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_core_plugins/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-core-plugins/src/work
+ patches:
+ - patch/ros-jazzy-moveit-setup-core-plugins.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-srdfdom
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-srdfdom
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-setup-framework/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-framework/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-framework/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-framework/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-framework/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-framework/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-framework/patch/ros-jazzy-moveit-setup-framework.patch b/recipes/ros-jazzy-moveit-setup-framework/patch/ros-jazzy-moveit-setup-framework.patch
new file mode 100644
index 00000000..d68cb7c0
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-framework/patch/ros-jazzy-moveit-setup-framework.patch
@@ -0,0 +1,206 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3e3d417fb..91c15c6b2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,8 +12,7 @@ find_package(fmt REQUIRED)
+ find_package(moveit_core REQUIRED)
+ find_package(moveit_ros_planning REQUIRED)
+ find_package(moveit_ros_visualization REQUIRED)
+-find_package(Qt5Core REQUIRED)
+-find_package(Qt5Widgets REQUIRED)
++find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
+ find_package(pluginlib REQUIRED)
+ find_package(rclcpp REQUIRED)
+ find_package(rviz_common REQUIRED)
+@@ -43,6 +42,10 @@ add_library(
+ src/utilities.cpp
+ src/xml_syntax_highlighter.cpp
+ ${MOC_FILES})
++
++include(GenerateExportHeader)
++generate_export_header(${PROJECT_NAME})
++
+ target_include_directories(
+ moveit_setup_framework
+ PUBLIC $
+@@ -54,8 +57,7 @@ ament_target_dependencies(
+ moveit_ros_planning
+ moveit_ros_visualization
+ pluginlib
+- Qt5Core
+- Qt5Widgets
++ Qt5
+ rclcpp
+ rviz_common
+ rviz_rendering
+@@ -67,6 +69,7 @@ install(FILES moveit_setup_framework_plugins.xml
+ DESTINATION share/moveit_setup_framework)
+
+ install(DIRECTORY templates DESTINATION share/moveit_setup_framework)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h DESTINATION include)
+
+ ament_export_targets(moveit_setup_frameworkTargets HAS_LIBRARY_TARGET)
+ install(
+diff --git a/include/moveit_setup_framework/data/srdf_config.hpp b/include/moveit_setup_framework/data/srdf_config.hpp
+index 92508e025..5b7fed77d 100644
+--- a/include/moveit_setup_framework/data/srdf_config.hpp
++++ b/include/moveit_setup_framework/data/srdf_config.hpp
+@@ -263,7 +263,7 @@ public:
+
+ bool write(const std::filesystem::path& path)
+ {
+- return srdf_.writeSRDF(path);
++ return srdf_.writeSRDF(path.string());
+ }
+
+ std::filesystem::path getPath() const
+diff --git a/include/moveit_setup_framework/qt/setup_step_widget.hpp b/include/moveit_setup_framework/qt/setup_step_widget.hpp
+index f32e7b5ad..c6f472682 100644
+--- a/include/moveit_setup_framework/qt/setup_step_widget.hpp
++++ b/include/moveit_setup_framework/qt/setup_step_widget.hpp
+@@ -40,12 +40,14 @@
+ #include
+ #include
+
++#include
++
+ namespace moveit_setup
+ {
+ /**
+ * @brief The GUI code for one SetupStep
+ */
+-class SetupStepWidget : public QWidget
++class MOVEIT_SETUP_FRAMEWORK_EXPORT SetupStepWidget : public QWidget
+ {
+ Q_OBJECT
+ public:
+diff --git a/include/moveit_setup_framework/templates.hpp b/include/moveit_setup_framework/templates.hpp
+index 1555eee16..b02d52024 100644
+--- a/include/moveit_setup_framework/templates.hpp
++++ b/include/moveit_setup_framework/templates.hpp
+@@ -38,6 +38,8 @@
+ #include
+ #include
+
++#include
++
+ namespace moveit_setup
+ {
+ /**
+@@ -69,7 +71,7 @@ public:
+
+ bool write() override;
+
+- static std::vector variables;
++ static MOVEIT_SETUP_FRAMEWORK_EXPORT std::vector variables;
+ };
+
+ } // namespace moveit_setup
+diff --git a/src/srdf_config.cpp b/src/srdf_config.cpp
+index d19bdbfa5..69002a3ec 100644
+--- a/src/srdf_config.cpp
++++ b/src/srdf_config.cpp
+@@ -88,7 +88,7 @@ void SRDFConfig::loadSRDFFile(const std::filesystem::path& srdf_file_path, const
+ loadURDFModel();
+
+ std::string srdf_string;
+- if (!rdf_loader::RDFLoader::loadXmlFileToString(srdf_string, srdf_path_, xacro_args))
++ if (!rdf_loader::RDFLoader::loadXmlFileToString(srdf_string, srdf_path_.string(), xacro_args))
+ {
+ throw std::runtime_error("SRDF file not found: " + srdf_path_.string());
+ }
+diff --git a/src/urdf_config.cpp b/src/urdf_config.cpp
+index 72d9bf4af..3ca176656 100644
+--- a/src/urdf_config.cpp
++++ b/src/urdf_config.cpp
+@@ -36,6 +36,7 @@
+ #include
+ #include
+ #include
++#include
+
+ namespace moveit_setup
+ {
+@@ -121,7 +121,7 @@ void URDFConfig::setPackageName()
+ void URDFConfig::loadFromPackage(const std::filesystem::path& package_name, const std::filesystem::path& relative_path,
+ const std::string& xacro_args)
+ {
+- const std::filesystem::path package_path = getSharePath(package_name);
++ const std::filesystem::path package_path = getSharePath(package_name.string());
+ if (package_path.empty())
+ {
+ throw std::runtime_error("URDF/COLLADA package not found: ''" + package_name.string());
+
+diff --git a/src/urdf_config.cpp b/src/urdf_config.cpp
+index 72d9bf4af..3ca176656 100644
+--- a/src/urdf_config.cpp
++++ b/src/urdf_config.cpp
+@@ -126,7 +127,7 @@ void URDFConfig::loadFromPackage(const std::filesystem::path& package_name, cons
+ throw std::runtime_error("URDF/COLLADA package not found: ''" + package_name.string());
+ }
+
+- urdf_pkg_name_ = package_name;
++ urdf_pkg_name_ = package_name.string();
+ urdf_pkg_relative_path_ = relative_path;
+ xacro_args_ = xacro_args;
+
+@@ -139,12 +140,12 @@ void URDFConfig::load()
+ RCLCPP_DEBUG_STREAM(*logger_, "URDF Package Name: " << urdf_pkg_name_);
+ RCLCPP_DEBUG_STREAM(*logger_, "URDF Package Path: " << urdf_pkg_relative_path_);
+
+- if (!rdf_loader::RDFLoader::loadXmlFileToString(urdf_string_, urdf_path_, xacro_args_vec_))
++ if (!rdf_loader::RDFLoader::loadXmlFileToString(urdf_string_, urdf_path_.string(), xacro_args_vec_))
+ {
+ throw std::runtime_error("URDF/COLLADA file not found: " + urdf_path_.string());
+ }
+
+- if (urdf_string_.empty() && rdf_loader::RDFLoader::isXacroFile(urdf_path_))
++ if (urdf_string_.empty() && rdf_loader::RDFLoader::isXacroFile(urdf_path_.string()))
+ {
+ throw std::runtime_error("Running xacro failed.\nPlease check console for errors.");
+ }
+
+diff --git a/src/urdf_config.cpp b/src/urdf_config.cpp
+index 72d9bf4af..3ca176656 100644
+--- a/src/urdf_config.cpp
++++ b/src/urdf_config.cpp
+@@ -154,7 +155,7 @@ void URDFConfig::load()
+ {
+ throw std::runtime_error("URDF/COLLADA file is not a valid robot model.");
+ }
+- urdf_from_xacro_ = rdf_loader::RDFLoader::isXacroFile(urdf_path_);
++ urdf_from_xacro_ = rdf_loader::RDFLoader::isXacroFile(urdf_path_.string());
+
+ // Set parameter
+ parent_node_->set_parameter(rclcpp::Parameter("robot_description", urdf_string_));
+@@ -164,7 +165,7 @@ void URDFConfig::load()
+
+ bool URDFConfig::isXacroFile() const
+ {
+- return rdf_loader::RDFLoader::isXacroFile(urdf_path_);
++ return rdf_loader::RDFLoader::isXacroFile(urdf_path_.string());
+ }
+
+ bool URDFConfig::isConfigured() const
+@@ -182,7 +183,7 @@ void URDFConfig::collectVariables(std::vector& variables)
+ std::string urdf_location;
+ if (urdf_pkg_name_.empty())
+ {
+- urdf_location = urdf_path_;
++ urdf_location = urdf_path_.string();
+ }
+ else
+ {
+diff --git a/src/utilities.cpp b/src/utilities.cpp
+index 3625d9459..43ade4b27 100644
+--- a/src/utilities.cpp
++++ b/src/utilities.cpp
+@@ -63,7 +63,7 @@ bool extractPackageNameFromPath(const std::filesystem::path& path, std::string&
+ // Default package name to folder name
+ package_name = sub_path.filename().string();
+ tinyxml2::XMLDocument package_xml_file;
+- auto is_open = package_xml_file.LoadFile((sub_path / "package.xml").c_str());
++ auto is_open = package_xml_file.LoadFile((sub_path / "package.xml").string().c_str());
+ if (is_open == tinyxml2::XML_SUCCESS)
+ {
+ auto name_potential =
diff --git a/recipes/ros-jazzy-moveit-setup-framework/recipe.yaml b/recipes/ros-jazzy-moveit-setup-framework/recipe.yaml
new file mode 100644
index 00000000..8c193307
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-framework/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-framework
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_framework/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-framework/src/work
+ patches:
+ - patch/ros-jazzy-moveit-setup-framework.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-srdfdom
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - fmt
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-srdfdom
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-setup-srdf-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-setup-srdf-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-srdf-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-setup-srdf-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-setup-srdf-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-srdf-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-setup-srdf-plugins/recipe.yaml b/recipes/ros-jazzy-moveit-setup-srdf-plugins/recipe.yaml
new file mode 100644
index 00000000..c7ad13c6
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-setup-srdf-plugins/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-setup-srdf-plugins
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_setup_srdf_plugins/2.12.1-1
+ target_directory: ros-jazzy-moveit-setup-srdf-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-moveit-resources-fanuc-description
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-moveit-setup-framework
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit-simple-controller-manager/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-simple-controller-manager/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-simple-controller-manager/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-simple-controller-manager/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-simple-controller-manager/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-simple-controller-manager/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-simple-controller-manager/recipe.yaml b/recipes/ros-jazzy-moveit-simple-controller-manager/recipe.yaml
new file mode 100644
index 00000000..22118238
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-simple-controller-manager/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-simple-controller-manager
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit_simple_controller_manager/2.12.1-1
+ target_directory: ros-jazzy-moveit-simple-controller-manager/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-control-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-control-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-moveit-visual-tools/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit-visual-tools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-visual-tools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit-visual-tools/build_ament_cmake.sh b/recipes/ros-jazzy-moveit-visual-tools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-visual-tools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit-visual-tools/recipe.yaml b/recipes/ros-jazzy-moveit-visual-tools/recipe.yaml
new file mode 100644
index 00000000..7a25be5e
--- /dev/null
+++ b/recipes/ros-jazzy-moveit-visual-tools/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit-visual-tools
+ version: 4.1.2
+source:
+ git: https://github.com/ros2-gbp/moveit_visual_tools-release.git
+ tag: release/jazzy/moveit_visual_tools/4.1.2-1
+ target_directory: ros-jazzy-moveit-visual-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-graph-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-visual-tools
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-graph-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-visual-tools
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-moveit/bld_ament_cmake.bat b/recipes/ros-jazzy-moveit/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-moveit/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-moveit/build_ament_cmake.sh b/recipes/ros-jazzy-moveit/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-moveit/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-moveit/recipe.yaml b/recipes/ros-jazzy-moveit/recipe.yaml
new file mode 100644
index 00000000..39aa7550
--- /dev/null
+++ b/recipes/ros-jazzy-moveit/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-moveit
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/moveit/2.12.1-1
+ target_directory: ros-jazzy-moveit/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-planners
+ - ros-jazzy-moveit-plugins
+ - ros-jazzy-moveit-ros
+ - ros-jazzy-moveit-setup-assistant
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-nav-2d-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-nav-2d-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav-2d-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-nav-2d-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav-2d-msgs/recipe.yaml b/recipes/ros-jazzy-nav-2d-msgs/recipe.yaml
new file mode 100644
index 00000000..aa9846bf
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-msgs/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav-2d-msgs
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav_2d_msgs/1.3.4-1
+ target_directory: ros-jazzy-nav-2d-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav-2d-utils/bld_ament_cmake.bat b/recipes/ros-jazzy-nav-2d-utils/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-utils/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav-2d-utils/build_ament_cmake.sh b/recipes/ros-jazzy-nav-2d-utils/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-utils/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav-2d-utils/recipe.yaml b/recipes/ros-jazzy-nav-2d-utils/recipe.yaml
new file mode 100644
index 00000000..80af2d64
--- /dev/null
+++ b/recipes/ros-jazzy-nav-2d-utils/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav-2d-utils
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav_2d_utils/1.3.4-1
+ target_directory: ros-jazzy-nav-2d-utils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav-msgs/recipe.yaml b/recipes/ros-jazzy-nav-msgs/recipe.yaml
new file mode 100644
index 00000000..7a18cac6
--- /dev/null
+++ b/recipes/ros-jazzy-nav-msgs/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/nav_msgs/5.3.5-1
+ target_directory: ros-jazzy-nav-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-amcl/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-amcl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-amcl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-amcl/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-amcl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-amcl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-amcl/recipe.yaml b/recipes/ros-jazzy-nav2-amcl/recipe.yaml
new file mode 100644
index 00000000..f4e5cc26
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-amcl/recipe.yaml
@@ -0,0 +1,115 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-amcl
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_amcl/1.3.4-1
+ target_directory: ros-jazzy-nav2-amcl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-behavior-tree/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-behavior-tree/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behavior-tree/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-behavior-tree/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-behavior-tree/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behavior-tree/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-behavior-tree/recipe.yaml b/recipes/ros-jazzy-nav2-behavior-tree/recipe.yaml
new file mode 100644
index 00000000..72192e34
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behavior-tree/recipe.yaml
@@ -0,0 +1,121 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-behavior-tree
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_behavior_tree/1.3.4-1
+ target_directory: ros-jazzy-nav2-behavior-tree/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-test-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-behaviors/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-behaviors/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behaviors/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-behaviors/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-behaviors/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behaviors/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-behaviors/recipe.yaml b/recipes/ros-jazzy-nav2-behaviors/recipe.yaml
new file mode 100644
index 00000000..712140a9
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-behaviors/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-behaviors
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_behaviors/1.3.4-1
+ target_directory: ros-jazzy-nav2-behaviors/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-bt-navigator/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-bt-navigator/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-bt-navigator/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-bt-navigator/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-bt-navigator/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-bt-navigator/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-bt-navigator/recipe.yaml b/recipes/ros-jazzy-nav2-bt-navigator/recipe.yaml
new file mode 100644
index 00000000..b5635d9a
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-bt-navigator/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-bt-navigator
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_bt_navigator/1.3.4-1
+ target_directory: ros-jazzy-nav2-bt-navigator/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-collision-monitor/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-collision-monitor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-collision-monitor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-collision-monitor/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-collision-monitor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-collision-monitor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-collision-monitor/recipe.yaml b/recipes/ros-jazzy-nav2-collision-monitor/recipe.yaml
new file mode 100644
index 00000000..9d27f4f2
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-collision-monitor/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-collision-monitor
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_collision_monitor/1.3.4-1
+ target_directory: ros-jazzy-nav2-collision-monitor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-common/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-common/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-common/patch/ros-jazzy-nav2-common.patch b/recipes/ros-jazzy-nav2-common/patch/ros-jazzy-nav2-common.patch
new file mode 100644
index 00000000..f22d44e4
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-common/patch/ros-jazzy-nav2-common.patch
@@ -0,0 +1,13 @@
+diff --git a/nav2_common/cmake/nav2_package.cmake b/nav2_common/cmake/nav2_package.cmake
+index 3f4977193c..01ca1c3ed2 100644
+--- a/nav2_common/cmake/nav2_package.cmake
++++ b/nav2_common/cmake/nav2_package.cmake
+@@ -37,7 +37,7 @@ macro(nav2_package)
+ endif()
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- add_compile_options(-Wall -Wextra -Wpedantic -Werror -Wdeprecated -fPIC -Wshadow -Wnull-dereference)
++ add_compile_options(-Wall -Wextra -Wpedantic -Wdeprecated -fPIC -Wshadow -Wnull-dereference)
+ add_compile_options("$<$:-Wnon-virtual-dtor>")
+ endif()
+
diff --git a/recipes/ros-jazzy-nav2-common/recipe.yaml b/recipes/ros-jazzy-nav2-common/recipe.yaml
new file mode 100644
index 00000000..dbfce0cf
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-common/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-common
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_common/1.3.4-1
+ target_directory: ros-jazzy-nav2-common/src/work
+ patches:
+ - patch/ros-jazzy-nav2-common.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - pyyaml
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-osrf-pycommon
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-constrained-smoother/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-constrained-smoother/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-constrained-smoother/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-constrained-smoother/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-constrained-smoother/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-constrained-smoother/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-constrained-smoother/recipe.yaml b/recipes/ros-jazzy-nav2-constrained-smoother/recipe.yaml
new file mode 100644
index 00000000..c5268f41
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-constrained-smoother/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-constrained-smoother
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_constrained_smoother/1.3.4-1
+ target_directory: ros-jazzy-nav2-constrained-smoother/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - ${{ 'openblas' if win }}
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - ceres-solver
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - ceres-solver
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-controller/recipe.yaml b/recipes/ros-jazzy-nav2-controller/recipe.yaml
new file mode 100644
index 00000000..84170cc7
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-controller/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-core/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-core/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-core/recipe.yaml b/recipes/ros-jazzy-nav2-core/recipe.yaml
new file mode 100644
index 00000000..6768c918
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-core/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-core
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_core/1.3.4-1
+ target_directory: ros-jazzy-nav2-core/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-costmap-2d/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-costmap-2d/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-costmap-2d/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-costmap-2d/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-costmap-2d/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-costmap-2d/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-costmap-2d/patch/ros-jazzy-nav2-costmap-2d.patch b/recipes/ros-jazzy-nav2-costmap-2d/patch/ros-jazzy-nav2-costmap-2d.patch
new file mode 100644
index 00000000..974334df
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-costmap-2d/patch/ros-jazzy-nav2-costmap-2d.patch
@@ -0,0 +1,56 @@
+diff --git a/include/nav2_costmap_2d/plugin_container_layer.hpp b/include/nav2_costmap_2d/plugin_container_layer.hpp
+index e98c7b813..fb1d23e2e 100644
+--- a/include/nav2_costmap_2d/plugin_container_layer.hpp
++++ b/include/nav2_costmap_2d/plugin_container_layer.hpp
+@@ -46,7 +46,7 @@ public:
+ /**
+ * @brief Initialization process of layer on startup
+ */
+- virtual void onInitialize();
++ virtual void onInitialize() override;
+ /**
+ * @brief Update the bounds of the master costmap by this layer's update
+ *dimensions
+@@ -65,7 +65,7 @@ public:
+ double * min_x,
+ double * min_y,
+ double * max_x,
+- double * max_y);
++ double * max_y) override;
+ /**
+ * @brief Update the costs in the master costmap in the window
+ * @param master_grid The master costmap grid to update
+@@ -79,26 +79,26 @@ public:
+ int min_i,
+ int min_j,
+ int max_i,
+- int max_j);
+- virtual void onFootprintChanged();
++ int max_j) override;
++ virtual void onFootprintChanged() override;
+ /** @brief Update the footprint to match size of the parent costmap. */
+- virtual void matchSize();
++ virtual void matchSize() override;
+ /**
+ * @brief Deactivate the layer
+ */
+- virtual void deactivate();
++ virtual void deactivate() override;
+ /**
+ * @brief Activate the layer
+ */
+- virtual void activate();
++ virtual void activate() override;
+ /**
+ * @brief Reset this costmap
+ */
+- virtual void reset();
++ virtual void reset() override;
+ /**
+ * @brief If clearing operations should be processed on this layer or not
+ */
+- virtual bool isClearable();
++ virtual bool isClearable() override;
+ /**
+ * @brief Clear an area in the constituent costmaps with the given dimension
+ * if invert, then clear everything except these dimensions
diff --git a/recipes/ros-jazzy-nav2-costmap-2d/recipe.yaml b/recipes/ros-jazzy-nav2-costmap-2d/recipe.yaml
new file mode 100644
index 00000000..c87e3a5d
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-costmap-2d/recipe.yaml
@@ -0,0 +1,134 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-costmap-2d
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_costmap_2d/1.3.4-1
+ target_directory: ros-jazzy-nav2-costmap-2d/src/work
+ patches:
+ - patch/ros-jazzy-nav2-costmap-2d.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-map-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-lifecycle-manager
+ - ros-jazzy-nav2-map-server
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-nav2-voxel-grid
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-sensor-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-map-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-nav2-voxel-grid
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-sensor-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-dwb-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-dwb-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-dwb-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-dwb-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-dwb-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-dwb-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-dwb-controller/recipe.yaml b/recipes/ros-jazzy-nav2-dwb-controller/recipe.yaml
new file mode 100644
index 00000000..3d87cd37
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-dwb-controller/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-dwb-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_dwb_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-dwb-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-costmap-queue
+ - ros-jazzy-dwb-core
+ - ros-jazzy-dwb-critics
+ - ros-jazzy-dwb-msgs
+ - ros-jazzy-dwb-plugins
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-costmap-queue
+ - ros-jazzy-dwb-core
+ - ros-jazzy-dwb-critics
+ - ros-jazzy-dwb-msgs
+ - ros-jazzy-dwb-plugins
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-graceful-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-graceful-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-graceful-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-graceful-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-graceful-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-graceful-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-graceful-controller/recipe.yaml b/recipes/ros-jazzy-nav2-graceful-controller/recipe.yaml
new file mode 100644
index 00000000..687c64fc
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-graceful-controller/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-graceful-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_graceful_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-graceful-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-controller
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-lifecycle-manager/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-lifecycle-manager/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-lifecycle-manager/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-lifecycle-manager/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-lifecycle-manager/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-lifecycle-manager/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-lifecycle-manager/recipe.yaml b/recipes/ros-jazzy-nav2-lifecycle-manager/recipe.yaml
new file mode 100644
index 00000000..08ff9210
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-lifecycle-manager/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-lifecycle-manager
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_lifecycle_manager/1.3.4-1
+ target_directory: ros-jazzy-nav2-lifecycle-manager/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-bondcpp
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-bondcpp
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-map-server/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-map-server/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-map-server/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-map-server/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-map-server/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-map-server/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-map-server/recipe.yaml b/recipes/ros-jazzy-nav2-map-server/recipe.yaml
new file mode 100644
index 00000000..9617d1a0
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-map-server/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-map-server
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_map_server/1.3.4-1
+ target_directory: ros-jazzy-nav2-map-server/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - graphicsmagick
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - graphicsmagick
+ - python
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-mppi-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-mppi-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-mppi-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-mppi-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-mppi-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-mppi-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-mppi-controller/patch/ros-jazzy-nav2-mppi-controller.patch b/recipes/ros-jazzy-nav2-mppi-controller/patch/ros-jazzy-nav2-mppi-controller.patch
new file mode 100644
index 00000000..b9228c74
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-mppi-controller/patch/ros-jazzy-nav2-mppi-controller.patch
@@ -0,0 +1,37 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 95eabf6c4..567c3e5fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,7 +52,7 @@ if(COMPILER_SUPPORTS_AVX512)
+ add_compile_options(-mno-avx512f)
+ endif()
+
+-if(COMPILER_SUPPORTS_SSE4)
++if(COMPILER_SUPPORTS_SSE4 AND NOT APPLE)
+ add_compile_options(-msse4.2)
+ endif()
+
+@@ -65,7 +65,11 @@ if(COMPILER_SUPPORTS_FMA)
+ endif()
+
+ # If building one the same hardware to be deployed on, try `-march=native`!
+-add_compile_options(-O3 -finline-limit=10000000 -ffp-contract=fast -ffast-math -mtune=generic)
++if(APPLE)
++ add_compile_options(-O3 -ffp-contract=fast -ffast-math -mtune=generic)
++else()
++ add_compile_options(-O3 -finline-limit=10000000 -ffp-contract=fast -ffast-math -mtune=generic)
++endif()
+
+ add_library(mppi_controller SHARED
+ src/controller.cpp
+@@ -94,7 +98,9 @@ add_library(mppi_critics SHARED
+ set(libraries mppi_controller mppi_critics)
+
+ foreach(lib IN LISTS libraries)
+- target_compile_options(${lib} PUBLIC -fconcepts)
++ if(NOT APPLE)
++ target_compile_options(${lib} PUBLIC -fconcepts)
++ endif()
+ target_include_directories(${lib} PUBLIC ${xsimd_INCLUDE_DIRS}) # ${OpenMP_INCLUDE_DIRS}
+ target_link_libraries(${lib} xtensor xtensor::optimize xtensor::use_xsimd)
+ ament_target_dependencies(${lib} ${dependencies_pkgs})
diff --git a/recipes/ros-jazzy-nav2-mppi-controller/recipe.yaml b/recipes/ros-jazzy-nav2-mppi-controller/recipe.yaml
new file mode 100644
index 00000000..65bb5c5e
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-mppi-controller/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-mppi-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_mppi_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-mppi-controller/src/work
+ patches:
+ - patch/ros-jazzy-nav2-mppi-controller.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - ${{ 'clang <19' if osx }}
+ host:
+ - benchmark
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libgomp
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - xsimd
+ - xtensor ==0.24.7
+ run:
+ - benchmark
+ - libgomp
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - xsimd
+ - xtensor
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-msgs/recipe.yaml b/recipes/ros-jazzy-nav2-msgs/recipe.yaml
new file mode 100644
index 00000000..1f67d6c1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-msgs/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-msgs
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_msgs/1.3.4-1
+ target_directory: ros-jazzy-nav2-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-navfn-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-navfn-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-navfn-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-navfn-planner/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-navfn-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-navfn-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-navfn-planner/recipe.yaml b/recipes/ros-jazzy-nav2-navfn-planner/recipe.yaml
new file mode 100644
index 00000000..e10ef5eb
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-navfn-planner/recipe.yaml
@@ -0,0 +1,115 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-navfn-planner
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_navfn_planner/1.3.4-1
+ target_directory: ros-jazzy-nav2-navfn-planner/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-planner/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-planner/recipe.yaml b/recipes/ros-jazzy-nav2-planner/recipe.yaml
new file mode 100644
index 00000000..2754f775
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-planner/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-planner
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_planner/1.3.4-1
+ target_directory: ros-jazzy-nav2-planner/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/recipe.yaml b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/recipe.yaml
new file mode 100644
index 00000000..e129b529
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-regulated-pure-pursuit-controller/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-regulated-pure-pursuit-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_regulated_pure_pursuit_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-regulated-pure-pursuit-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-rotation-shim-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-rotation-shim-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rotation-shim-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-rotation-shim-controller/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-rotation-shim-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rotation-shim-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-rotation-shim-controller/recipe.yaml b/recipes/ros-jazzy-nav2-rotation-shim-controller/recipe.yaml
new file mode 100644
index 00000000..214e37f7
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rotation-shim-controller/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-rotation-shim-controller
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_rotation_shim_controller/1.3.4-1
+ target_directory: ros-jazzy-nav2-rotation-shim-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-controller
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-regulated-pure-pursuit-controller
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-rviz-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-rviz-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rviz-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-rviz-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-rviz-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rviz-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-rviz-plugins/patch/ros-jazzy-nav2-rviz-plugins.patch b/recipes/ros-jazzy-nav2-rviz-plugins/patch/ros-jazzy-nav2-rviz-plugins.patch
new file mode 100644
index 00000000..177fb6af
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rviz-plugins/patch/ros-jazzy-nav2-rviz-plugins.patch
@@ -0,0 +1,43 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c5f5c788a..dbb0f0d3b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,7 +7,7 @@ if(NOT CMAKE_CXX_STANDARD)
+ endif()
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- add_compile_options(-Wall -Wextra -Wpedantic -Werror)
++ add_compile_options(-Wall -Wextra -Wpedantic)
+ endif()
+
+ # Qt5 boilerplate options from http://doc.qt.io/qt-5/cmake-manual.html
+diff --git a/src/costmap_cost_tool.cpp b/src/costmap_cost_tool.cpp
+index f25a71cd8..93d234043 100644
+--- a/src/costmap_cost_tool.cpp
++++ b/src/costmap_cost_tool.cpp
+@@ -50,6 +50,10 @@ void CostmapCostTool::onInitialize()
+ node_->create_client("/global_costmap/get_cost_global_costmap");
+ }
+
++void CostmapCostTool::updateAutoDeactivate() {
++ // TODO: Add implementation
++}
++
+ void CostmapCostTool::activate() {}
+ void CostmapCostTool::deactivate() {}
+
+diff --git a/src/docking_panel.cpp b/src/docking_panel.cpp
+index 62304a825..291a570f9 100644
+--- a/src/docking_panel.cpp
++++ b/src/docking_panel.cpp
+@@ -311,6 +311,10 @@ void DockingPanel::save(rviz_common::Config config) const
+ Panel::save(config);
+ }
+
++void DockingPanel::onStartup() {
++ // TODO: Add implementation
++}
++
+ void DockingPanel::onDockingButtonPressed()
+ {
+ auto is_action_server_ready =
diff --git a/recipes/ros-jazzy-nav2-rviz-plugins/recipe.yaml b/recipes/ros-jazzy-nav2-rviz-plugins/recipe.yaml
new file mode 100644
index 00000000..da123597
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-rviz-plugins/recipe.yaml
@@ -0,0 +1,141 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-rviz-plugins
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_rviz_plugins/1.3.4-1
+ target_directory: ros-jazzy-nav2-rviz-plugins/src/work
+ patches:
+ - patch/ros-jazzy-nav2-rviz-plugins.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-lifecycle-manager
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-urdf
+ - ros-jazzy-visualization-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-lifecycle-manager
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-urdf
+ - ros-jazzy-visualization-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-nav2-simple-commander/bld_ament_python.bat b/recipes/ros-jazzy-nav2-simple-commander/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-simple-commander/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-simple-commander/build_ament_python.sh b/recipes/ros-jazzy-nav2-simple-commander/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-simple-commander/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-nav2-simple-commander/recipe.yaml b/recipes/ros-jazzy-nav2-simple-commander/recipe.yaml
new file mode 100644
index 00000000..2bf79f97
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-simple-commander/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-simple-commander
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_simple_commander/1.3.4-1
+ target_directory: ros-jazzy-nav2-simple-commander/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-smac-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-smac-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smac-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-smac-planner/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-smac-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smac-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-smac-planner/recipe.yaml b/recipes/ros-jazzy-nav2-smac-planner/recipe.yaml
new file mode 100644
index 00000000..887958f9
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smac-planner/recipe.yaml
@@ -0,0 +1,130 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-smac-planner
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_smac_planner/1.3.4-1
+ target_directory: ros-jazzy-nav2-smac-planner/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - ${{ 'llvm-openmp' if osx }}
+ host:
+ - ${{ 'llvm-openmp' if osx }}
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libode
+ - nlohmann_json
+ - numpy
+ - ompl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-ompl
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - nlohmann_json
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-ompl
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-smoother/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-smoother/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smoother/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-smoother/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-smoother/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smoother/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-smoother/recipe.yaml b/recipes/ros-jazzy-nav2-smoother/recipe.yaml
new file mode 100644
index 00000000..1eb58aa2
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-smoother/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-smoother
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_smoother/1.3.4-1
+ target_directory: ros-jazzy-nav2-smoother/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-nav-2d-msgs
+ - ros-jazzy-nav-2d-utils
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-theta-star-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-theta-star-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-theta-star-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-theta-star-planner/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-theta-star-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-theta-star-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-theta-star-planner/recipe.yaml b/recipes/ros-jazzy-nav2-theta-star-planner/recipe.yaml
new file mode 100644
index 00000000..f7eb7a15
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-theta-star-planner/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-theta-star-planner
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_theta_star_planner/1.3.4-1
+ target_directory: ros-jazzy-nav2-theta-star-planner/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-util/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-util/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-util/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-util/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-util/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-util/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-util/patch/ros-jazzy-nav2-util.patch b/recipes/ros-jazzy-nav2-util/patch/ros-jazzy-nav2-util.patch
new file mode 100644
index 00000000..babfabcd
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-util/patch/ros-jazzy-nav2-util.patch
@@ -0,0 +1,22 @@
+diff --git a/src/node_utils.cpp b/src/node_utils.cpp
+index 993eaf53b..83ab5ebaa 100644
+--- a/src/node_utils.cpp
++++ b/src/node_utils.cpp
+@@ -92,6 +92,9 @@ rclcpp::Node::SharedPtr generate_internal_node(const std::string & prefix)
+
+ void setSoftRealTimePriority()
+ {
++#if defined(__APPLE__) || defined(_WIN32)
++ throw std::runtime_error("Cannot set as real-time thread if not on Linux!");
++#else
+ sched_param sch;
+ sch.sched_priority = 49;
+ if (sched_setscheduler(0, SCHED_FIFO, &sch) == -1) {
+@@ -101,6 +104,7 @@ void setSoftRealTimePriority()
+ "realtime prioritization! Error: ");
+ throw std::runtime_error(errmsg + std::strerror(errno));
+ }
++#endif
+ }
+
+ } // namespace nav2_util
diff --git a/recipes/ros-jazzy-nav2-util/recipe.yaml b/recipes/ros-jazzy-nav2-util/recipe.yaml
new file mode 100644
index 00000000..3b526b29
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-util/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-util
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_util/1.3.4-1
+ target_directory: ros-jazzy-nav2-util/src/work
+ patches:
+ - patch/ros-jazzy-nav2-util.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-bond
+ - ros-jazzy-bondcpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-test-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-bond
+ - ros-jazzy-bondcpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-velocity-smoother/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-velocity-smoother/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-velocity-smoother/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-velocity-smoother/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-velocity-smoother/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-velocity-smoother/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-velocity-smoother/recipe.yaml b/recipes/ros-jazzy-nav2-velocity-smoother/recipe.yaml
new file mode 100644
index 00000000..c268f257
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-velocity-smoother/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-velocity-smoother
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_velocity_smoother/1.3.4-1
+ target_directory: ros-jazzy-nav2-velocity-smoother/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-voxel-grid/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-voxel-grid/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-voxel-grid/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-voxel-grid/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-voxel-grid/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-voxel-grid/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-voxel-grid/recipe.yaml b/recipes/ros-jazzy-nav2-voxel-grid/recipe.yaml
new file mode 100644
index 00000000..c4589964
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-voxel-grid/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-voxel-grid
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_voxel_grid/1.3.4-1
+ target_directory: ros-jazzy-nav2-voxel-grid/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-nav2-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nav2-waypoint-follower/bld_ament_cmake.bat b/recipes/ros-jazzy-nav2-waypoint-follower/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-waypoint-follower/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nav2-waypoint-follower/build_ament_cmake.sh b/recipes/ros-jazzy-nav2-waypoint-follower/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-waypoint-follower/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nav2-waypoint-follower/recipe.yaml b/recipes/ros-jazzy-nav2-waypoint-follower/recipe.yaml
new file mode 100644
index 00000000..ea9aae21
--- /dev/null
+++ b/recipes/ros-jazzy-nav2-waypoint-follower/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nav2-waypoint-follower
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/nav2_waypoint_follower/1.3.4-1
+ target_directory: ros-jazzy-nav2-waypoint-follower/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-robot-localization
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-common
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-robot-localization
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-navigation2/bld_ament_cmake.bat b/recipes/ros-jazzy-navigation2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-navigation2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-navigation2/build_ament_cmake.sh b/recipes/ros-jazzy-navigation2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-navigation2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-navigation2/recipe.yaml b/recipes/ros-jazzy-navigation2/recipe.yaml
new file mode 100644
index 00000000..25aecbe8
--- /dev/null
+++ b/recipes/ros-jazzy-navigation2/recipe.yaml
@@ -0,0 +1,115 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-navigation2
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/navigation2/1.3.4-1
+ target_directory: ros-jazzy-navigation2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-nav2-amcl
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-behaviors
+ - ros-jazzy-nav2-bt-navigator
+ - ros-jazzy-nav2-collision-monitor
+ - ros-jazzy-nav2-constrained-smoother
+ - ros-jazzy-nav2-controller
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-costmap-2d
+ - ros-jazzy-nav2-dwb-controller
+ - ros-jazzy-nav2-graceful-controller
+ - ros-jazzy-nav2-lifecycle-manager
+ - ros-jazzy-nav2-map-server
+ - ros-jazzy-nav2-mppi-controller
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-navfn-planner
+ - ros-jazzy-nav2-planner
+ - ros-jazzy-nav2-regulated-pure-pursuit-controller
+ - ros-jazzy-nav2-rotation-shim-controller
+ - ros-jazzy-nav2-rviz-plugins
+ - ros-jazzy-nav2-simple-commander
+ - ros-jazzy-nav2-smac-planner
+ - ros-jazzy-nav2-smoother
+ - ros-jazzy-nav2-theta-star-planner
+ - ros-jazzy-nav2-util
+ - ros-jazzy-nav2-velocity-smoother
+ - ros-jazzy-nav2-voxel-grid
+ - ros-jazzy-nav2-waypoint-follower
+ - ros-jazzy-opennav-docking
+ - ros-jazzy-opennav-docking-bt
+ - ros-jazzy-opennav-docking-core
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-nmea-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-nmea-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-nmea-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-nmea-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-nmea-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-nmea-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-nmea-msgs/recipe.yaml b/recipes/ros-jazzy-nmea-msgs/recipe.yaml
new file mode 100644
index 00000000..ad43e9b4
--- /dev/null
+++ b/recipes/ros-jazzy-nmea-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-nmea-msgs
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/nmea_msgs-release.git
+ tag: release/jazzy/nmea_msgs/2.1.0-3
+ target_directory: ros-jazzy-nmea-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-object-recognition-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-object-recognition-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-object-recognition-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-object-recognition-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-object-recognition-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-object-recognition-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-object-recognition-msgs/recipe.yaml b/recipes/ros-jazzy-object-recognition-msgs/recipe.yaml
new file mode 100644
index 00000000..63e3af16
--- /dev/null
+++ b/recipes/ros-jazzy-object-recognition-msgs/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-object-recognition-msgs
+ version: 2.0.0
+source:
+ git: https://github.com/ros2-gbp/object_recognition_msgs-release.git
+ tag: release/jazzy/object_recognition_msgs/2.0.0-5
+ target_directory: ros-jazzy-object-recognition-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-octomap-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-octomap-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-octomap-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-octomap-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-octomap-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-octomap-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-octomap-msgs/recipe.yaml b/recipes/ros-jazzy-octomap-msgs/recipe.yaml
new file mode 100644
index 00000000..697cdf53
--- /dev/null
+++ b/recipes/ros-jazzy-octomap-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-octomap-msgs
+ version: 2.0.1
+source:
+ git: https://github.com/ros2-gbp/octomap_msgs-release.git
+ tag: release/jazzy/octomap_msgs/2.0.1-1
+ target_directory: ros-jazzy-octomap-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ompl/bld_catkin.bat b/recipes/ros-jazzy-ompl/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-ompl/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-ompl/build_catkin.sh b/recipes/ros-jazzy-ompl/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-ompl/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-ompl/patch/ros-jazzy-ompl.patch b/recipes/ros-jazzy-ompl/patch/ros-jazzy-ompl.patch
new file mode 100644
index 00000000..daad9108
--- /dev/null
+++ b/recipes/ros-jazzy-ompl/patch/ros-jazzy-ompl.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 09fc750..2e4ff16 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -178,7 +178,7 @@ find_program(R_EXEC R)
+
+ add_subdirectory(src)
+ add_subdirectory(py-bindings)
+-add_subdirectory(tests)
++# add_subdirectory(tests)
+ add_subdirectory(demos)
+ add_subdirectory(scripts)
+ add_subdirectory(doc)
diff --git a/recipes/ros-jazzy-ompl/recipe.yaml b/recipes/ros-jazzy-ompl/recipe.yaml
new file mode 100644
index 00000000..11ee8d13
--- /dev/null
+++ b/recipes/ros-jazzy-ompl/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ompl
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/ompl-release.git
+ tag: release/jazzy/ompl/1.6.0-1
+ target_directory: ros-jazzy-ompl/src/work
+ patches:
+ - patch/ros-jazzy-ompl.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cmake
+ - eigen
+ - flann
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - ompl
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - flann
+ - libboost-devel
+ - libboost-python-devel
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-opennav-docking-bt/bld_ament_cmake.bat b/recipes/ros-jazzy-opennav-docking-bt/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-bt/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-opennav-docking-bt/build_ament_cmake.sh b/recipes/ros-jazzy-opennav-docking-bt/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-bt/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-opennav-docking-bt/recipe.yaml b/recipes/ros-jazzy-opennav-docking-bt/recipe.yaml
new file mode 100644
index 00000000..27d6e15c
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-bt/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-opennav-docking-bt
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/opennav_docking_bt/1.3.4-1
+ target_directory: ros-jazzy-opennav-docking-bt/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-behaviortree-cpp
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-behavior-tree
+ - ros-jazzy-nav2-core
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-opennav-docking-core/bld_ament_cmake.bat b/recipes/ros-jazzy-opennav-docking-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-opennav-docking-core/build_ament_cmake.sh b/recipes/ros-jazzy-opennav-docking-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-opennav-docking-core/recipe.yaml b/recipes/ros-jazzy-opennav-docking-core/recipe.yaml
new file mode 100644
index 00000000..4619a009
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking-core/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-opennav-docking-core
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/opennav_docking_core/1.3.4-1
+ target_directory: ros-jazzy-opennav-docking-core/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-opennav-docking/bld_ament_cmake.bat b/recipes/ros-jazzy-opennav-docking/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-opennav-docking/build_ament_cmake.sh b/recipes/ros-jazzy-opennav-docking/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-opennav-docking/recipe.yaml b/recipes/ros-jazzy-opennav-docking/recipe.yaml
new file mode 100644
index 00000000..5c052db5
--- /dev/null
+++ b/recipes/ros-jazzy-opennav-docking/recipe.yaml
@@ -0,0 +1,118 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-opennav-docking
+ version: 1.3.4
+source:
+ git: https://github.com/SteveMacenski/navigation2-release.git
+ tag: release/jazzy/opennav_docking/1.3.4-1
+ target_directory: ros-jazzy-opennav-docking/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-graceful-controller
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-opennav-docking-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nav2-graceful-controller
+ - ros-jazzy-nav2-msgs
+ - ros-jazzy-nav2-util
+ - ros-jazzy-opennav-docking-core
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml b/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml
new file mode 100644
index 00000000..eee7a342
--- /dev/null
+++ b/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-orocos-kdl-vendor
+ version: 0.5.1
+source:
+ git: https://github.com/ros2-gbp/orocos_kdl_vendor-release.git
+ tag: release/jazzy/orocos_kdl_vendor/0.5.1-2
+ target_directory: ros-jazzy-orocos-kdl-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - orocos-kdl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - orocos-kdl
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-osqp-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-osqp-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-osqp-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-osqp-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-osqp-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-osqp-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-osqp-vendor/recipe.yaml b/recipes/ros-jazzy-osqp-vendor/recipe.yaml
new file mode 100644
index 00000000..088687df
--- /dev/null
+++ b/recipes/ros-jazzy-osqp-vendor/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-osqp-vendor
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/osqp_vendor-release.git
+ tag: release/jazzy/osqp_vendor/0.2.0-4
+ target_directory: ros-jazzy-osqp-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-osrf-pycommon/bld_ament_python.bat b/recipes/ros-jazzy-osrf-pycommon/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-pycommon/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-osrf-pycommon/build_ament_python.sh b/recipes/ros-jazzy-osrf-pycommon/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-pycommon/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-osrf-pycommon/recipe.yaml b/recipes/ros-jazzy-osrf-pycommon/recipe.yaml
new file mode 100644
index 00000000..71bccc19
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-pycommon/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-osrf-pycommon
+ version: 2.1.5
+source:
+ git: https://github.com/ros2-gbp/osrf_pycommon-release.git
+ tag: release/jazzy/osrf_pycommon/2.1.5-1
+ target_directory: ros-jazzy-osrf-pycommon/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - importlib-metadata
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-osrf-testing-tools-cpp/bld_catkin.bat b/recipes/ros-jazzy-osrf-testing-tools-cpp/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-testing-tools-cpp/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-osrf-testing-tools-cpp/build_catkin.sh b/recipes/ros-jazzy-osrf-testing-tools-cpp/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-testing-tools-cpp/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-osrf-testing-tools-cpp/recipe.yaml b/recipes/ros-jazzy-osrf-testing-tools-cpp/recipe.yaml
new file mode 100644
index 00000000..cbf88a3b
--- /dev/null
+++ b/recipes/ros-jazzy-osrf-testing-tools-cpp/recipe.yaml
@@ -0,0 +1,83 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-osrf-testing-tools-cpp
+ version: 2.0.0
+source:
+ git: https://github.com/ros2-gbp/osrf_testing_tools_cpp-release.git
+ tag: release/jazzy/osrf_testing_tools_cpp/2.0.0-3
+ target_directory: ros-jazzy-osrf-testing-tools-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-parallel-gripper-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-parallel-gripper-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-parallel-gripper-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-parallel-gripper-controller/build_ament_cmake.sh b/recipes/ros-jazzy-parallel-gripper-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-parallel-gripper-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-parallel-gripper-controller/recipe.yaml b/recipes/ros-jazzy-parallel-gripper-controller/recipe.yaml
new file mode 100644
index 00000000..f8bc7671
--- /dev/null
+++ b/recipes/ros-jazzy-parallel-gripper-controller/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-parallel-gripper-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/parallel_gripper_controller/4.20.0-1
+ target_directory: ros-jazzy-parallel-gripper-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-parameter-traits/bld_ament_cmake.bat b/recipes/ros-jazzy-parameter-traits/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-parameter-traits/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-parameter-traits/build_ament_cmake.sh b/recipes/ros-jazzy-parameter-traits/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-parameter-traits/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-parameter-traits/recipe.yaml b/recipes/ros-jazzy-parameter-traits/recipe.yaml
new file mode 100644
index 00000000..156c4444
--- /dev/null
+++ b/recipes/ros-jazzy-parameter-traits/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-parameter-traits
+ version: 0.4.0
+source:
+ git: https://github.com/ros2-gbp/generate_parameter_library-release.git
+ tag: release/jazzy/parameter_traits/0.4.0-1
+ target_directory: ros-jazzy-parameter-traits/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - fmt
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - fmt
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rsl
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pcl-conversions/bld_ament_cmake.bat b/recipes/ros-jazzy-pcl-conversions/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-conversions/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pcl-conversions/build_ament_cmake.sh b/recipes/ros-jazzy-pcl-conversions/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-conversions/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pcl-conversions/recipe.yaml b/recipes/ros-jazzy-pcl-conversions/recipe.yaml
new file mode 100644
index 00000000..03ef4f12
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-conversions/recipe.yaml
@@ -0,0 +1,115 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pcl-conversions
+ version: 2.6.2
+source:
+ git: https://github.com/ros2-gbp/perception_pcl-release.git
+ tag: release/jazzy/pcl_conversions/2.6.2-1
+ target_directory: ros-jazzy-pcl-conversions/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libboost-devel
+ - numpy
+ - pcl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-message-filters
+ - ros-jazzy-pcl-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - eigen
+ - libboost-devel
+ - pcl
+ - python
+ - ros-jazzy-message-filters
+ - ros-jazzy-pcl-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-pcl-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-pcl-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pcl-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-pcl-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pcl-msgs/recipe.yaml b/recipes/ros-jazzy-pcl-msgs/recipe.yaml
new file mode 100644
index 00000000..49ff2cd0
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-msgs/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pcl-msgs
+ version: 1.0.0
+source:
+ git: https://github.com/ros2-gbp/pcl_msgs-release.git
+ tag: release/jazzy/pcl_msgs/1.0.0-9
+ target_directory: ros-jazzy-pcl-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pcl-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-pcl-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pcl-ros/build_ament_cmake.sh b/recipes/ros-jazzy-pcl-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pcl-ros/recipe.yaml b/recipes/ros-jazzy-pcl-ros/recipe.yaml
new file mode 100644
index 00000000..8dcf1062
--- /dev/null
+++ b/recipes/ros-jazzy-pcl-ros/recipe.yaml
@@ -0,0 +1,130 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pcl-ros
+ version: 2.6.2
+source:
+ git: https://github.com/ros2-gbp/perception_pcl-release.git
+ tag: release/jazzy/pcl_ros/2.6.2-1
+ target_directory: ros-jazzy-pcl-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libboost-devel
+ - numpy
+ - pcl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-pcl-conversions
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - eigen
+ - libboost-devel
+ - pcl
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pcl-conversions
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-pendulum-control/bld_ament_cmake.bat b/recipes/ros-jazzy-pendulum-control/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-control/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pendulum-control/build_ament_cmake.sh b/recipes/ros-jazzy-pendulum-control/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-control/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pendulum-control/recipe.yaml b/recipes/ros-jazzy-pendulum-control/recipe.yaml
new file mode 100644
index 00000000..0bb021b1
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-control/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pendulum-control
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/pendulum_control/0.33.5-1
+ target_directory: ros-jazzy-pendulum-control/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-pendulum-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2run
+ - ros-jazzy-rttest
+ - ros-jazzy-tlsf-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pendulum-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rttest
+ - ros-jazzy-tlsf-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pendulum-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-pendulum-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pendulum-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-pendulum-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pendulum-msgs/recipe.yaml b/recipes/ros-jazzy-pendulum-msgs/recipe.yaml
new file mode 100644
index 00000000..ea78c1aa
--- /dev/null
+++ b/recipes/ros-jazzy-pendulum-msgs/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pendulum-msgs
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/pendulum_msgs/0.33.5-1
+ target_directory: ros-jazzy-pendulum-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-perception-pcl/bld_ament_cmake.bat b/recipes/ros-jazzy-perception-pcl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-perception-pcl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-perception-pcl/build_ament_cmake.sh b/recipes/ros-jazzy-perception-pcl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-perception-pcl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-perception-pcl/recipe.yaml b/recipes/ros-jazzy-perception-pcl/recipe.yaml
new file mode 100644
index 00000000..e1a82358
--- /dev/null
+++ b/recipes/ros-jazzy-perception-pcl/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-perception-pcl
+ version: 2.6.2
+source:
+ git: https://github.com/ros2-gbp/perception_pcl-release.git
+ tag: release/jazzy/perception_pcl/2.6.2-1
+ target_directory: ros-jazzy-perception-pcl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pcl-conversions
+ - ros-jazzy-pcl-msgs
+ - ros-jazzy-pcl-ros
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-perception/bld_ament_cmake.bat b/recipes/ros-jazzy-perception/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-perception/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-perception/build_ament_cmake.sh b/recipes/ros-jazzy-perception/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-perception/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-perception/recipe.yaml b/recipes/ros-jazzy-perception/recipe.yaml
new file mode 100644
index 00000000..6a12a5a5
--- /dev/null
+++ b/recipes/ros-jazzy-perception/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-perception
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/perception/0.11.0-1
+ target_directory: ros-jazzy-perception/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-image-common
+ - ros-jazzy-image-pipeline
+ - ros-jazzy-image-transport-plugins
+ - ros-jazzy-laser-filters
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-perception-pcl
+ - ros-jazzy-ros-base
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-vision-opencv
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat b/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh b/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-performance-test-fixture/recipe.yaml b/recipes/ros-jazzy-performance-test-fixture/recipe.yaml
new file mode 100644
index 00000000..20dc3990
--- /dev/null
+++ b/recipes/ros-jazzy-performance-test-fixture/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-performance-test-fixture
+ version: 0.2.1
+source:
+ git: https://github.com/ros2-gbp/performance_test_fixture-release.git
+ tag: release/jazzy/performance_test_fixture/0.2.1-2
+ target_directory: ros-jazzy-performance-test-fixture/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-ament-cmake-export-targets
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-google-benchmark-vendor
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-google-benchmark-vendor
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pid-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-pid-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pid-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pid-controller/build_ament_cmake.sh b/recipes/ros-jazzy-pid-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pid-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pid-controller/recipe.yaml b/recipes/ros-jazzy-pid-controller/recipe.yaml
new file mode 100644
index 00000000..5a48aa55
--- /dev/null
+++ b/recipes/ros-jazzy-pid-controller/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pid-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/pid_controller/4.20.0-1
+ target_directory: ros-jazzy-pid-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-angles
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-parameter-traits
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-control-toolbox
+ - ros-jazzy-controller-interface
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-parameter-traits
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/bld_ament_cmake.bat b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/build_ament_cmake.sh b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/recipe.yaml b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/recipe.yaml
new file mode 100644
index 00000000..11d6de85
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner-testutils/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pilz-industrial-motion-planner-testutils
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/pilz_industrial_motion_planner_testutils/2.12.1-1
+ target_directory: ros-jazzy-pilz-industrial-motion-planner-testutils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-eigen
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner/bld_ament_cmake.bat b/recipes/ros-jazzy-pilz-industrial-motion-planner/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner/build_ament_cmake.sh b/recipes/ros-jazzy-pilz-industrial-motion-planner/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner/patch/ros-jazzy-pilz-industrial-motion-planner.patch b/recipes/ros-jazzy-pilz-industrial-motion-planner/patch/ros-jazzy-pilz-industrial-motion-planner.patch
new file mode 100644
index 00000000..83fe60b2
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner/patch/ros-jazzy-pilz-industrial-motion-planner.patch
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e8420aec3..b1257cde3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -64,7 +64,7 @@ generate_parameter_library(
+ )
+
+ add_library(planning_context_loader_base SHARED src/planning_context_loader.cpp)
+-target_link_libraries(planning_context_loader_base cartesian_limits_parameters)
++target_link_libraries(planning_context_loader_base cartesian_limits_parameters joint_limits_common)
+ ament_target_dependencies(planning_context_loader_base
+ ${THIS_PACKAGE_INCLUDE_DEPENDS})
+
+@@ -79,7 +79,7 @@ add_library(
+ trajectory_generation_common SHARED
+ src/trajectory_functions.cpp src/trajectory_generator.cpp
+ src/trajectory_blender_transition_window.cpp)
+-target_link_libraries(trajectory_generation_common cartesian_limits_parameters)
++target_link_libraries(trajectory_generation_common cartesian_limits_parameters joint_limits_common)
+ ament_target_dependencies(trajectory_generation_common
+ ${THIS_PACKAGE_INCLUDE_DEPENDS})
+
diff --git a/recipes/ros-jazzy-pilz-industrial-motion-planner/recipe.yaml b/recipes/ros-jazzy-pilz-industrial-motion-planner/recipe.yaml
new file mode 100644
index 00000000..dcd65edc
--- /dev/null
+++ b/recipes/ros-jazzy-pilz-industrial-motion-planner/recipe.yaml
@@ -0,0 +1,132 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pilz-industrial-motion-planner
+ version: 2.12.1
+source:
+ git: https://github.com/ros2-gbp/moveit2-release.git
+ tag: release/jazzy/pilz_industrial_motion_planner/2.12.1-1
+ target_directory: ros-jazzy-pilz-industrial-motion-planner/src/work
+ patches:
+ - patch/ros-jazzy-pilz-industrial-motion-planner.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch-param-builder
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-resources-panda-moveit-config
+ - ros-jazzy-moveit-resources-prbt-moveit-config
+ - ros-jazzy-moveit-resources-prbt-pg70-support
+ - ros-jazzy-moveit-resources-prbt-support
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pilz-industrial-motion-planner-testutils
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-eigen-kdl
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-moveit-common
+ - ros-jazzy-moveit-core
+ - ros-jazzy-moveit-msgs
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-planning
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-eigen-kdl
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-kdl
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-plotjuggler-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-plotjuggler-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-plotjuggler-ros/build_ament_cmake.sh b/recipes/ros-jazzy-plotjuggler-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-plotjuggler-ros/recipe.yaml b/recipes/ros-jazzy-plotjuggler-ros/recipe.yaml
new file mode 100644
index 00000000..89019eec
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler-ros/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-plotjuggler-ros
+ version: 2.1.2
+source:
+ git: https://github.com/ros2-gbp/plotjuggler-ros-plugins-release.git
+ tag: release/jazzy/plotjuggler_ros/2.1.2-2
+ target_directory: ros-jazzy-plotjuggler-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - binutils
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-plotjuggler
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2
+ - ros-jazzy-rosbag2-transport
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - binutils
+ - libboost-devel
+ - libboost-python-devel
+ - python
+ - qt-main
+ - ros-jazzy-plotjuggler
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2
+ - ros-jazzy-rosbag2-transport
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-plotjuggler/bld_ament_cmake.bat b/recipes/ros-jazzy-plotjuggler/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-plotjuggler/build_ament_cmake.sh b/recipes/ros-jazzy-plotjuggler/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-plotjuggler/patch/ros-jazzy-plotjuggler.unix.patch b/recipes/ros-jazzy-plotjuggler/patch/ros-jazzy-plotjuggler.unix.patch
new file mode 100644
index 00000000..33bc88e2
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler/patch/ros-jazzy-plotjuggler.unix.patch
@@ -0,0 +1,606 @@
+diff --git a/cmake/FindXCB.cmake b/cmake/FindXCB.cmake
+new file mode 100644
+index 00000000..a2e2757a
+--- /dev/null
++++ b/cmake/FindXCB.cmake
+@@ -0,0 +1,51 @@
++# - FindXCB
++#
++# Copyright 2015 Valve Coporation
++
++find_package(PkgConfig)
++
++if(NOT XCB_FIND_COMPONENTS)
++ set(XCB_FIND_COMPONENTS xcb)
++endif()
++
++include(FindPackageHandleStandardArgs)
++set(XCB_FOUND true)
++set(XCB_INCLUDE_DIRS "")
++set(XCB_LIBRARIES "")
++foreach(comp ${XCB_FIND_COMPONENTS})
++ # component name
++ string(TOUPPER ${comp} compname)
++ string(REPLACE "-" "_" compname ${compname})
++ # header name
++ string(REPLACE "xcb-" "" headername xcb/${comp}.h)
++ # library name
++ set(libname ${comp})
++
++ pkg_check_modules(PC_${comp} QUIET ${comp})
++
++ find_path(${compname}_INCLUDE_DIR NAMES ${headername}
++ HINTS
++ ${PC_${comp}_INCLUDEDIR}
++ ${PC_${comp}_INCLUDE_DIRS}
++ )
++
++ find_library(${compname}_LIBRARY NAMES ${libname}
++ HINTS
++ ${PC_${comp}_LIBDIR}
++ ${PC_${comp}_LIBRARY_DIRS}
++ )
++
++ find_package_handle_standard_args(${comp}
++ FOUND_VAR ${comp}_FOUND
++ REQUIRED_VARS ${compname}_INCLUDE_DIR ${compname}_LIBRARY)
++ mark_as_advanced(${compname}_INCLUDE_DIR ${compname}_LIBRARY)
++
++ list(APPEND XCB_INCLUDE_DIRS ${${compname}_INCLUDE_DIR})
++ list(APPEND XCB_LIBRARIES ${${compname}_LIBRARY})
++
++ if(NOT ${comp}_FOUND)
++ set(XCB_FOUND false)
++ endif()
++endforeach()
++
++list(REMOVE_DUPLICATES XCB_INCLUDE_DIRS)
+diff --git a/3rdparty/nlohmann/json.hpp b/3rdparty/nlohmann/json.hpp
+index cb27e058..cecdb1fd 100644
+--- a/3rdparty/nlohmann/json.hpp
++++ b/3rdparty/nlohmann/json.hpp
+@@ -3198,6 +3198,7 @@ template struct identity_tag {};
+ #include // false_type, is_constructible, is_integral, is_same, true_type
+ #include // declval
+ #include // tuple
++#include // char_traits
+
+ // #include
+
+@@ -3261,6 +3262,7 @@ struct iterator_traits::value>>
+
+
+ // #include
++// #include
+
+
+ namespace nlohmann
+@@ -3272,6 +3274,7 @@ NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin);
+
+
+ // #include
++// #include
+
+
+ namespace nlohmann
+@@ -3482,6 +3485,63 @@ struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >>
+ };
+
+
++/////////////////
++// char_traits //
++/////////////////
++
++// Primary template of char_traits calls std char_traits
++template
++struct char_traits : std::char_traits
++{};
++
++// Explicitly define char traits for unsigned char since it is not standard
++template<>
++struct char_traits : std::char_traits
++{
++ using char_type = unsigned char;
++ using int_type = uint64_t;
++
++ // Redefine to_int_type function
++ static int_type to_int_type(char_type c) noexcept
++ {
++ return static_cast(c);
++ }
++
++ static char_type to_char_type(int_type i) noexcept
++ {
++ return static_cast(i);
++ }
++
++ static constexpr int_type eof() noexcept
++ {
++ return static_cast(EOF);
++ }
++};
++
++// Explicitly define char traits for signed char since it is not standard
++template<>
++struct char_traits : std::char_traits
++{
++ using char_type = signed char;
++ using int_type = uint64_t;
++
++ // Redefine to_int_type function
++ static int_type to_int_type(char_type c) noexcept
++ {
++ return static_cast(c);
++ }
++
++ static char_type to_char_type(int_type i) noexcept
++ {
++ return static_cast(i);
++ }
++
++ static constexpr int_type eof() noexcept
++ {
++ return static_cast(EOF);
++ }
++};
++
+ ///////////////////
+ // is_ functions //
+ ///////////////////
+@@ -5342,16 +5402,16 @@ class iterator_input_adapter
+ : current(std::move(first)), end(std::move(last))
+ {}
+
+- typename std::char_traits::int_type get_character()
++ typename char_traits::int_type get_character()
+ {
+ if (JSON_HEDLEY_LIKELY(current != end))
+ {
+- auto result = std::char_traits::to_int_type(*current);
++ auto result = char_traits::to_int_type(*current);
+ std::advance(current, 1);
+ return result;
+ }
+
+- return std::char_traits::eof();
++ return char_traits::eof();
+ }
+
+ private:
+@@ -6517,7 +6577,7 @@ class lexer : public lexer_base
+ using number_float_t = typename BasicJsonType::number_float_t;
+ using string_t = typename BasicJsonType::string_t;
+ using char_type = typename InputAdapterType::char_type;
+- using char_int_type = typename std::char_traits::int_type;
++ using char_int_type = typename char_traits::int_type;
+
+ public:
+ using token_type = typename lexer_base::token_type;
+@@ -6667,7 +6727,7 @@ class lexer : public lexer_base
+ switch (get())
+ {
+ // end of file while parsing string
+- case std::char_traits::eof():
++ case char_traits::eof():
+ {
+ error_message = "invalid string: missing closing quote";
+ return token_type::parse_error;
+@@ -7256,7 +7316,7 @@ class lexer : public lexer_base
+ {
+ case '\n':
+ case '\r':
+- case std::char_traits::eof():
++ case char_traits::eof():
+ case '\0':
+ return true;
+
+@@ -7273,7 +7333,7 @@ class lexer : public lexer_base
+ {
+ switch (get())
+ {
+- case std::char_traits::eof():
++ case char_traits::eof():
+ case '\0':
+ {
+ error_message = "invalid comment; missing closing '*/'";
+@@ -7702,10 +7762,10 @@ scan_number_done:
+ token_type scan_literal(const char_type* literal_text, const std::size_t length,
+ token_type return_type)
+ {
+- JSON_ASSERT(std::char_traits::to_char_type(current) == literal_text[0]);
++ JSON_ASSERT(char_traits::to_char_type(current) == literal_text[0]);
+ for (std::size_t i = 1; i < length; ++i)
+ {
+- if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i]))
++ if (JSON_HEDLEY_UNLIKELY(char_traits::to_char_type(get()) != literal_text[i]))
+ {
+ error_message = "invalid literal";
+ return token_type::parse_error;
+@@ -7723,7 +7783,7 @@ scan_number_done:
+ {
+ token_buffer.clear();
+ token_string.clear();
+- token_string.push_back(std::char_traits::to_char_type(current));
++ token_string.push_back(char_traits::to_char_type(current));
+ }
+
+ /*
+@@ -7731,7 +7791,7 @@ scan_number_done:
+
+ This function provides the interface to the used input adapter. It does
+ not throw in case the input reached EOF, but returns a
+- `std::char_traits::eof()` in that case. Stores the scanned characters
++ `char_traits::eof()` in that case. Stores the scanned characters
+ for use in error messages.
+
+ @return character read from the input
+@@ -7751,9 +7811,9 @@ scan_number_done:
+ current = ia.get_character();
+ }
+
+- if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof()))
++ if (JSON_HEDLEY_LIKELY(current != char_traits::eof()))
+ {
+- token_string.push_back(std::char_traits::to_char_type(current));
++ token_string.push_back(char_traits::to_char_type(current));
+ }
+
+ if (current == '\n')
+@@ -7792,7 +7852,7 @@ scan_number_done:
+ --position.chars_read_current_line;
+ }
+
+- if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof()))
++ if (JSON_HEDLEY_LIKELY(current != char_traits::eof()))
+ {
+ JSON_ASSERT(!token_string.empty());
+ token_string.pop_back();
+@@ -7986,7 +8046,7 @@ scan_number_done:
+ // end of input (the null byte is needed when parsing from
+ // string literals)
+ case '\0':
+- case std::char_traits::eof():
++ case char_traits::eof():
+ return token_type::end_of_input;
+
+ // error
+@@ -8004,7 +8064,7 @@ scan_number_done:
+ const bool ignore_comments = false;
+
+ /// the current character
+- char_int_type current = std::char_traits::eof();
++ char_int_type current = char_traits::eof();
+
+ /// whether the next get() call should just return current
+ bool next_unget = false;
+@@ -8235,7 +8295,7 @@ class binary_reader
+ using binary_t = typename BasicJsonType::binary_t;
+ using json_sax_t = SAX;
+ using char_type = typename InputAdapterType::char_type;
+- using char_int_type = typename std::char_traits::int_type;
++ using char_int_type = typename char_traits::int_type;
+
+ public:
+ /*!
+@@ -8307,7 +8367,7 @@ class binary_reader
+ get();
+ }
+
+- if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof()))
++ if (JSON_HEDLEY_UNLIKELY(current != char_traits::eof()))
+ {
+ return sax->parse_error(chars_read, get_token_string(),
+ parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"), BasicJsonType()));
+@@ -8389,7 +8449,7 @@ class binary_reader
+ return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"), BasicJsonType()));
+ }
+
+- return get_string(input_format_t::bson, len - static_cast(1), result) && get() != std::char_traits::eof();
++ return get_string(input_format_t::bson, len - static_cast(1), result) && get() != char_traits::eof();
+ }
+
+ /*!
+@@ -8580,7 +8640,7 @@ class binary_reader
+ switch (get_char ? get() : current)
+ {
+ // EOF
+- case std::char_traits::eof():
++ case char_traits::eof():
+ return unexpect_eof(input_format_t::cbor, "value");
+
+ // Integer 0x00..0x17 (0..23)
+@@ -9350,7 +9410,7 @@ class binary_reader
+ switch (get())
+ {
+ // EOF
+- case std::char_traits::eof():
++ case char_traits::eof():
+ return unexpect_eof(input_format_t::msgpack, "value");
+
+ // positive fixint
+@@ -10172,7 +10232,7 @@ class binary_reader
+ {
+ switch (prefix)
+ {
+- case std::char_traits::eof(): // EOF
++ case char_traits::eof(): // EOF
+ return unexpect_eof(input_format_t::ubjson, "value");
+
+ case 'T': // true
+@@ -10478,7 +10538,7 @@ class binary_reader
+
+ This function provides the interface to the used input adapter. It does
+ not throw in case the input reached EOF, but returns a -'ve valued
+- `std::char_traits::eof()` in that case.
++ `char_traits::eof()` in that case.
+
+ @return character read from the input
+ */
+@@ -10618,7 +10678,7 @@ class binary_reader
+ JSON_HEDLEY_NON_NULL(3)
+ bool unexpect_eof(const input_format_t format, const char* context) const
+ {
+- if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof()))
++ if (JSON_HEDLEY_UNLIKELY(current == char_traits::eof()))
+ {
+ return sax->parse_error(chars_read, "",
+ parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context), BasicJsonType()));
+@@ -10679,7 +10739,7 @@ class binary_reader
+ InputAdapterType ia;
+
+ /// the current character
+- char_int_type current = std::char_traits::eof();
++ char_int_type current = char_traits::eof();
+
+ /// the number of characters read
+ std::size_t chars_read = 0;
+@@ -16102,8 +16162,8 @@ class serializer
+ error_handler_t error_handler_ = error_handler_t::strict)
+ : o(std::move(s))
+ , loc(std::localeconv())
+- , thousands_sep(loc->thousands_sep == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->thousands_sep)))
+- , decimal_point(loc->decimal_point == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->decimal_point)))
++ , thousands_sep(loc->thousands_sep == nullptr ? '\0' : char_traits::to_char_type(* (loc->thousands_sep)))
++ , decimal_point(loc->decimal_point == nullptr ? '\0' : char_traits::to_char_type(* (loc->decimal_point)))
+ , indent_char(ichar)
+ , indent_string(512, indent_char)
+ , error_handler(error_handler_)
+diff --git a/plotjuggler_plugins/ParserProtobuf/error_collectors.cpp b/plotjuggler_plugins/ParserProtobuf/error_collectors.cpp
+index 761e0b73..b7ce4129 100644
+--- a/plotjuggler_plugins/ParserProtobuf/error_collectors.cpp
++++ b/plotjuggler_plugins/ParserProtobuf/error_collectors.cpp
+@@ -2,38 +2,38 @@
+ #include
+ #include
+
+-void FileErrorCollector::AddError(const std::string& filename, int line, int,
+- const std::string& message)
++void FileErrorCollector::RecordError(const absl::string_view filename, int line, int,
++ const absl::string_view message)
+ {
+ auto msg = QString("File: [%1] Line: [%2] Message: %3\n\n")
+- .arg(QString::fromStdString(filename))
++ .arg(QString::fromStdString(std::string(filename)))
+ .arg(line)
+- .arg(QString::fromStdString(message));
++ .arg(QString::fromStdString(std::string(message)));
+
+ _errors.push_back(msg);
+ }
+
+-void FileErrorCollector::AddWarning(const std::string& filename, int line, int,
+- const std::string& message)
++void FileErrorCollector::RecordWarning(const absl::string_view filename, int line, int,
++ const absl::string_view message)
+ {
+ auto msg = QString("Warning [%1] line %2: %3")
+- .arg(QString::fromStdString(filename))
++ .arg(QString::fromStdString(std::string(filename)))
+ .arg(line)
+- .arg(QString::fromStdString(message));
++ .arg(QString::fromStdString(std::string(message)));
+ qDebug() << msg;
+ }
+
+-void IoErrorCollector::AddError(int line, google::protobuf::io::ColumnNumber,
+- const std::string& message)
++void IoErrorCollector::RecordError(int line, google::protobuf::io::ColumnNumber,
++ const absl::string_view message)
+ {
+ _errors.push_back(
+- QString("Line: [%1] Message: %2\n").arg(line).arg(QString::fromStdString(message)));
++ QString("Line: [%1] Message: %2\n").arg(line).arg(QString::fromStdString(std::string(message))));
+ }
+
+-void IoErrorCollector::AddWarning(int line, google::protobuf::io::ColumnNumber column,
+- const std::string& message)
++void IoErrorCollector::RecordWarning(int line, google::protobuf::io::ColumnNumber column,
++ const absl::string_view message)
+ {
+ qDebug() << QString("Line: [%1] Message: %2\n")
+ .arg(line)
+- .arg(QString::fromStdString(message));
++ .arg(QString::fromStdString(std::string(message)));
+ }
+diff --git a/plotjuggler_plugins/ParserProtobuf/error_collectors.h b/plotjuggler_plugins/ParserProtobuf/error_collectors.h
+index f70a881f..7afe1fea 100644
+--- a/plotjuggler_plugins/ParserProtobuf/error_collectors.h
++++ b/plotjuggler_plugins/ParserProtobuf/error_collectors.h
+@@ -3,17 +3,18 @@
+
+ #include
+ #include
++#include
+
+ #include
+
+ class IoErrorCollector : public google::protobuf::io::ErrorCollector
+ {
+ public:
+- void AddError(int line, google::protobuf::io::ColumnNumber column,
+- const std::string& message) override;
++ void RecordError(int line, google::protobuf::io::ColumnNumber column,
++ const absl::string_view message) override;
+
+- void AddWarning(int line, google::protobuf::io::ColumnNumber column,
+- const std::string& message) override;
++ void RecordWarning(int line, google::protobuf::io::ColumnNumber column,
++ const absl::string_view message) override;
+
+ const QStringList& errors()
+ {
+@@ -27,11 +28,11 @@ private:
+ class FileErrorCollector : public google::protobuf::compiler::MultiFileErrorCollector
+ {
+ public:
+- void AddError(const std::string& filename, int line, int,
+- const std::string& message) override;
++ void RecordError(const absl::string_view filename, int line, int,
++ const absl::string_view message) override;
+
+- void AddWarning(const std::string& filename, int line, int,
+- const std::string& message) override;
++ void RecordWarning(const absl::string_view filename, int line, int,
++ const absl::string_view message) override;
+
+ const QStringList& errors()
+ {
+diff --git a/3rdparty/Qt-Advanced-Docking/CMakeLists.txt b/3rdparty/Qt-Advanced-Docking/CMakeLists.txt
+index 6b650f1b..82c58edb 100644
+--- a/3rdparty/Qt-Advanced-Docking/CMakeLists.txt
++++ b/3rdparty/Qt-Advanced-Docking/CMakeLists.txt
+@@ -67,7 +67,9 @@ target_link_libraries(qt_advanced_docking PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets
+
+ if(UNIX AND NOT APPLE)
+ target_link_libraries(qt_advanced_docking PUBLIC Qt5::X11Extras)
+- target_link_libraries(qt_advanced_docking PRIVATE xcb)
++ find_package(XCB REQUIRED)
++ target_link_libraries(qt_advanced_docking PRIVATE ${XCB_LIBRARIES})
++ target_include_directories(qt_advanced_docking SYSTEM PUBLIC ${XCB_INCLUDE_DIRS})
+ endif()
+
+ set_target_properties(qt_advanced_docking PROPERTIES
+diff --git a/3rdparty/lua-5.4.3/CMakeLists.txt b/3rdparty/lua-5.4.3/CMakeLists.txt
+index ad3dc012..a3da197b 100644
+--- a/3rdparty/lua-5.4.3/CMakeLists.txt
++++ b/3rdparty/lua-5.4.3/CMakeLists.txt
+@@ -1,3 +1,5 @@
++include_directories( ./src )
++
+ set(LUA_LIB_SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lapi.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lcode.c
+@@ -32,7 +34,7 @@ set(LUA_LIB_SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/loadlib.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/linit.c
+ )
+-set(LUA_LIB_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src)
++# set(LUA_LIB_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src)
+
+ if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
+ add_compile_options(-fPIC)
+@@ -42,7 +44,7 @@ add_library(lua_static STATIC
+ ${LUA_LIB_SRCS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/lua.c
+ )
+-target_include_directories(lua_static PUBLIC ${LUA_LIB_INCLUDE})
++# target_include_directories(lua_static PUBLIC ${LUA_LIB_INCLUDE})
+
+ add_library(lua_objects OBJECT ${LUA_LIB_SRCS})
+
+@@ -55,3 +57,11 @@ if(EMSCRIPTEN)
+ endif()
+ target_compile_definitions(lua_static PUBLIC ${LUA_DEFINITIONS})
+
++install(
++ TARGETS
++ lua_static
++ EXPORT export_lua_static
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
++ INCLUDES DESTINATION include )
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 16477dd3..859f7320 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.10.2)
++cmake_minimum_required(VERSION 3.20)
+
+ PROJECT(plotjuggler LANGUAGES C CXX VERSION 3.9.2)
+
+@@ -94,18 +94,6 @@ if (NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
+ endif()
+
+-if(APPLE AND EXISTS /usr/local/opt/qt5)
+- # Homebrew installs Qt5 (up to at least 5.9.1) in
+- # /usr/local/qt5, ensure it can be found by CMake since
+- # it is not in the default /usr/local prefix.
+- # source: https://github.com/Homebrew/homebrew-core/issues/8392#issuecomment-325226494
+- list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5")
+- set(CMAKE_MACOSX_RPATH 1)
+-elseif(APPLE AND EXISTS /opt/homebrew/opt/qt@5)
+- list(APPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/qt@5")
+- set(CMAKE_MACOSX_RPATH 1)
+-endif()
+-
+ find_package(Qt5 REQUIRED COMPONENTS
+ Core
+ Widgets
+@@ -120,11 +108,9 @@ find_package(Qt5 REQUIRED COMPONENTS
+ set( QT_LINK_LIBRARIES
+ Qt5::Core
+ Qt5::Widgets
+- Qt5::PrintSupport
+ Qt5::Xml
+ Qt5::Concurrent
+ Qt5::Svg
+- Qt5::OpenGL
+ Qt5::WebSockets
+ )
+
+@@ -191,7 +177,7 @@ if (BASE_AS_SHARED)
+ ${PLOTJUGGLER_BASE_SRC}
+ ${PLOTJUGGLER_BASE_MOCS}
+ )
+- target_link_libraries(plotjuggler_base PRIVATE lua_objects plotjuggler_qwt_objects)
++ target_link_libraries(plotjuggler_base PRIVATE ${QT_LINK_LIBRARIES} lua_objects plotjuggler_qwt_objects)
+ else()
+ add_library(plotjuggler_base STATIC
+ ${PLOTJUGGLER_BASE_SRC}
+@@ -199,13 +185,6 @@ else()
+ )
+ endif()
+
+-# target_link_libraries(plotjuggler_base plotjuggler_qwt)
+-
+-target_include_directories(plotjuggler_base INTERFACE
+- $
+- $
+-)
+-
+ ######################### INSTALL ####################################
+
+ if(COMPILING_WITH_CATKIN)
+diff --git a/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt b/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt
+index f399fdad..4c89c787 100644
+--- a/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt
++++ b/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt
+@@ -1,13 +1,6 @@
+-if(BUILDING_WITH_CONAN)
+- message(STATUS "Finding Protobuf with conan")
+- set(Protobuf_LIBS protobuf::libprotobuf)
+-else()
+- message(STATUS "Finding Protobuf without package managers")
+- find_package(Protobuf QUIET)
+- set(Protobuf_LIBS ${Protobuf_LIBRARIES})
+-endif()
++set(Protobuf_LIBS protobuf::libprotobuf)
+
+-find_package(Protobuf QUIET)
++find_package(Protobuf QUIET CONFIG)
+
+ if( Protobuf_FOUND)
+
diff --git a/recipes/ros-jazzy-plotjuggler/recipe.yaml b/recipes/ros-jazzy-plotjuggler/recipe.yaml
new file mode 100644
index 00000000..660f5970
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler/recipe.yaml
@@ -0,0 +1,129 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-plotjuggler
+ version: 3.9.2
+source:
+ git: https://github.com/ros2-gbp/plotjuggler-release.git
+ tag: release/jazzy/plotjuggler/3.9.2-1
+ target_directory: ros-jazzy-plotjuggler/src/work
+ patches:
+ - patch/ros-jazzy-plotjuggler.unix.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - ${{ 'elfutils' if linux }}
+ - binutils
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cppzmq
+ - libboost-devel
+ - libboost-python-devel
+ - libprotobuf
+ - libxcb
+ - lz4
+ - numpy
+ - pip
+ - protobuf
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zeromq
+ - zstd
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - binutils
+ - cppzmq
+ - libboost-devel
+ - libboost-python-devel
+ - libprotobuf
+ - lz4
+ - protobuf
+ - python
+ - qt-main
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zeromq
+ - zstd
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat b/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh b/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pluginlib/recipe.yaml b/recipes/ros-jazzy-pluginlib/recipe.yaml
new file mode 100644
index 00000000..90276298
--- /dev/null
+++ b/recipes/ros-jazzy-pluginlib/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pluginlib
+ version: 5.4.2
+source:
+ git: https://github.com/ros2-gbp/pluginlib-release.git
+ tag: release/jazzy/pluginlib/5.4.2-2
+ target_directory: ros-jazzy-pluginlib/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-class-loader
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-class-loader
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-point-cloud-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-point-cloud-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-point-cloud-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-point-cloud-transport/build_ament_cmake.sh b/recipes/ros-jazzy-point-cloud-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-point-cloud-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-point-cloud-transport/recipe.yaml b/recipes/ros-jazzy-point-cloud-transport/recipe.yaml
new file mode 100644
index 00000000..c05bd3af
--- /dev/null
+++ b/recipes/ros-jazzy-point-cloud-transport/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-point-cloud-transport
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/point_cloud_transport-release.git
+ tag: release/jazzy/point_cloud_transport/4.0.3-1
+ target_directory: ros-jazzy-point-cloud-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pose-broadcaster/bld_ament_cmake.bat b/recipes/ros-jazzy-pose-broadcaster/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pose-broadcaster/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pose-broadcaster/build_ament_cmake.sh b/recipes/ros-jazzy-pose-broadcaster/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pose-broadcaster/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pose-broadcaster/recipe.yaml b/recipes/ros-jazzy-pose-broadcaster/recipe.yaml
new file mode 100644
index 00000000..8a0c71cd
--- /dev/null
+++ b/recipes/ros-jazzy-pose-broadcaster/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pose-broadcaster
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/pose_broadcaster/4.20.0-1
+ target_directory: ros-jazzy-pose-broadcaster/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-position-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-position-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-position-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-position-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-position-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-position-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-position-controllers/recipe.yaml b/recipes/ros-jazzy-position-controllers/recipe.yaml
new file mode 100644
index 00000000..3b561e45
--- /dev/null
+++ b/recipes/ros-jazzy-position-controllers/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-position-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/position_controllers/4.20.0-1
+ target_directory: ros-jazzy-position-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-manager
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-pybind11-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-pybind11-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-pybind11-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-pybind11-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-pybind11-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-pybind11-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-pybind11-vendor/recipe.yaml b/recipes/ros-jazzy-pybind11-vendor/recipe.yaml
new file mode 100644
index 00000000..bce738e2
--- /dev/null
+++ b/recipes/ros-jazzy-pybind11-vendor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-pybind11-vendor
+ version: 3.1.2
+source:
+ git: https://github.com/ros2-gbp/pybind11_vendor-release.git
+ tag: release/jazzy/pybind11_vendor/3.1.2-2
+ target_directory: ros-jazzy-pybind11-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pybind11
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - pybind11
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-python-cmake-module/recipe.yaml b/recipes/ros-jazzy-python-cmake-module/recipe.yaml
new file mode 100644
index 00000000..7a5f0e9e
--- /dev/null
+++ b/recipes/ros-jazzy-python-cmake-module/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-python-cmake-module
+ version: 0.11.1
+source:
+ git: https://github.com/ros2-gbp/python_cmake_module-release.git
+ tag: release/jazzy/python_cmake_module/0.11.1-2
+ target_directory: ros-jazzy-python-cmake-module/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-python-orocos-kdl-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-python-orocos-kdl-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-python-orocos-kdl-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-python-orocos-kdl-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-python-orocos-kdl-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-python-orocos-kdl-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-python-orocos-kdl-vendor/recipe.yaml b/recipes/ros-jazzy-python-orocos-kdl-vendor/recipe.yaml
new file mode 100644
index 00000000..a60b29ba
--- /dev/null
+++ b/recipes/ros-jazzy-python-orocos-kdl-vendor/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-python-orocos-kdl-vendor
+ version: 0.5.1
+source:
+ git: https://github.com/ros2-gbp/orocos_kdl_vendor-release.git
+ tag: release/jazzy/python_orocos_kdl_vendor/0.5.1-2
+ target_directory: ros-jazzy-python-orocos-kdl-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - python-orocos-kdl
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pybind11-vendor
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - pybind11
+ run:
+ - python
+ - python-orocos-kdl
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-pybind11-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-python-qt-binding/bld_ament_cmake.bat b/recipes/ros-jazzy-python-qt-binding/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-python-qt-binding/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-python-qt-binding/build_ament_cmake.sh b/recipes/ros-jazzy-python-qt-binding/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-python-qt-binding/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-python-qt-binding/patch/ros-jazzy-python-qt-binding.patch b/recipes/ros-jazzy-python-qt-binding/patch/ros-jazzy-python-qt-binding.patch
new file mode 100644
index 00000000..d025bbca
--- /dev/null
+++ b/recipes/ros-jazzy-python-qt-binding/patch/ros-jazzy-python-qt-binding.patch
@@ -0,0 +1,254 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 919969e..2bf015a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,7 @@ install(FILES
+ cmake/shiboken_helper.cmake
+ cmake/sip_configure.py
+ cmake/sip_helper.cmake
++ cmake/pyproject.toml.in
+ DESTINATION share/${PROJECT_NAME}/cmake)
+
+ if(BUILD_TESTING)
+diff --git a/cmake/pyproject.toml.in b/cmake/pyproject.toml.in
+new file mode 100644
+index 0000000..cf4f57f
+--- /dev/null
++++ b/cmake/pyproject.toml.in
+@@ -0,0 +1,31 @@
++[project]
++name = "lib@PROJECT_NAME@"
++
++# Specify sip v5 as the build system for the package.
++[build-system]
++requires = ["PyQt-builder >=1, <2"]
++build-backend = "sipbuild.api"
++
++[tool.sip]
++project-factory = "pyqtbuild:PyQtProject"
++
++[tool.sip.builder]
++qmake = "@QMAKE_EXECUTABLE@"
++qmake-settings = [ "QMAKE_MACOSX_DEPLOYMENT_TARGET=@MACOS_MINIMUM_VERSION@", "CONFIG+=c++17" ]
++
++[tool.sip.project]
++sip-files-dir = "@SIP_FILES_DIR@"
++build-dir = "@SIP_BUILD_DIR@"
++verbose = true
++minimum-macos-version = "@MACOS_MINIMUM_VERSION@"
++# Specify the PEP 566 metadata for the project.
++[tool.sip.metadata]
++name = "lib@PROJECT_NAME@"
++
++[tool.sip.bindings.libqt_gui_cpp_sip]
++sip-file = "@SIP_FILE@"
++include-dirs = [@SIP_INCLUDE_DIRS@]
++libraries = [@SIP_LIBARIES@]
++library-dirs = [@SIP_LIBRARY_DIRS@]
++qmake-QT = ["widgets"]
++exceptions = true
+diff --git a/cmake/sip_configure.py b/cmake/sip_configure.py
+index 5210ee5..7bafe73 100644
+--- a/cmake/sip_configure.py
++++ b/cmake/sip_configure.py
+@@ -215,6 +215,7 @@ if sys.platform == 'win32':
+ # The __cplusplus flag is not properly set on Windows for backwards
+ # compatibilty. This flag sets it correctly
+ makefile.CXXFLAGS.append('/Zc:__cplusplus')
++ makefile.extra_cxxflags.append('/DROS_BUILD_SHARED_LIBS=1')
+ else:
+ makefile.extra_cxxflags.append('-std=c++17')
+
+diff --git a/cmake/sip_helper.cmake b/cmake/sip_helper.cmake
+index a5ac3c2..fdc9c18 100644
+--- a/cmake/sip_helper.cmake
++++ b/cmake/sip_helper.cmake
+@@ -31,7 +31,7 @@ execute_process(
+ if(PYTHON_SIP_EXECUTABLE)
+ string(STRIP ${PYTHON_SIP_EXECUTABLE} SIP_EXECUTABLE)
+ else()
+- find_program(SIP_EXECUTABLE sip)
++ find_program(SIP_EXECUTABLE NAMES sip sip-build)
+ endif()
+
+ if(SIP_EXECUTABLE)
+@@ -42,6 +42,15 @@ else()
+ set(sip_helper_NOTFOUND TRUE)
+ endif()
+
++if(sip_helper_FOUND)
++ execute_process(
++ COMMAND ${SIP_EXECUTABLE} -V
++ OUTPUT_VARIABLE SIP_VERSION
++ ERROR_QUIET)
++ string(STRIP ${SIP_VERSION} SIP_VERSION)
++ message(STATUS "SIP binding generator version: ${SIP_VERSION}")
++endif()
++
+ #
+ # Run the SIP generator and compile the generated code into a library.
+ #
+@@ -93,34 +102,107 @@ function(build_sip_binding PROJECT_NAME SIP_FILE)
+ set(LIBRARY_DIRS ${${PROJECT_NAME}_LIBRARY_DIRS})
+ set(LDFLAGS_OTHER ${${PROJECT_NAME}_LDFLAGS_OTHER})
+
+- add_custom_command(
+- OUTPUT ${SIP_BUILD_DIR}/Makefile
+- COMMAND ${Python3_EXECUTABLE} ${sip_SIP_CONFIGURE} ${SIP_BUILD_DIR} ${SIP_FILE} ${sip_LIBRARY_DIR}
+- \"${INCLUDE_DIRS}\" \"${LIBRARIES}\" \"${LIBRARY_DIRS}\" \"${LDFLAGS_OTHER}\"
+- DEPENDS ${sip_SIP_CONFIGURE} ${SIP_FILE} ${sip_DEPENDS}
+- WORKING_DIRECTORY ${sip_SOURCE_DIR}
+- COMMENT "Running SIP generator for ${PROJECT_NAME} Python bindings..."
+- )
++ if(${SIP_VERSION} VERSION_GREATER_EQUAL "5.0.0")
++ # Since v5, SIP implements the backend per PEP 517, PEP 518
++ # Here we synthesize `pyproject.toml` and run `pip install`
+
+- if(NOT EXISTS "${sip_LIBRARY_DIR}")
++ find_program(QMAKE_EXECUTABLE NAMES qmake REQUIRED)
++
++ file(REMOVE_RECURSE ${SIP_BUILD_DIR})
+ file(MAKE_DIRECTORY ${sip_LIBRARY_DIR})
+- endif()
+
+- if(WIN32)
+- set(MAKE_EXECUTABLE NMake.exe)
++ set(SIP_FILES_DIR ${sip_SOURCE_DIR})
++
++ set(SIP_INCLUDE_DIRS "")
++ foreach(_x ${INCLUDE_DIRS})
++ set(SIP_INCLUDE_DIRS "${SIP_INCLUDE_DIRS},\"${_x}\"")
++ endforeach()
++ string(REGEX REPLACE "^," "" SIP_INCLUDE_DIRS ${SIP_INCLUDE_DIRS})
++
++ # SIP expects the libraries WITHOUT the file extension.
++ set(SIP_LIBARIES "")
++ set(SIP_LIBRARY_DIRS "")
++
++ if(APPLE)
++ set(LIBRARIES_TO_LOOP ${LIBRARIES})
++ else()
++ set(LIBRARIES_TO_LOOP ${LIBRARIES} ${PYTHON_LIBRARIES})
++ endif()
++
++ foreach(_x ${LIBRARIES_TO_LOOP})
++ get_filename_component(_x_NAME "${_x}" NAME_WLE)
++ get_filename_component(_x_DIR "${_x}" DIRECTORY)
++ get_filename_component(_x "${_x_DIR}/${_x_NAME}" ABSOLUTE)
++ STRING(REGEX REPLACE "^lib" "" _x_NAME_NOPREFIX ${_x_NAME})
++
++ string(FIND "${_x_NAME_NOPREFIX}" "$" "" _x_NAME_NOPREFIX ${_x_NAME_NOPREFIX})
++ if(NOT "${out2}" EQUAL -1)
++ message(STATUS "IGNORE: ${_x_NAME_NOPREFIX}")
++ else()
++ set(SIP_LIBARIES "${SIP_LIBARIES},\"${_x_NAME_NOPREFIX}\"")
++ endif()
++ else()
++ set(SIP_LIBARIES "${SIP_LIBARIES},\"${_x_NAME_NOPREFIX}\"")
++ set(SIP_LIBRARY_DIRS "${SIP_LIBRARY_DIRS},\"${_x_DIR}\"")
++ endif()
++ endforeach()
++ string(REGEX REPLACE "^," "" SIP_LIBARIES ${SIP_LIBARIES})
++
++ foreach(_x ${LIBRARY_DIRS})
++ set(SIP_LIBRARY_DIRS "${SIP_LIBRARY_DIRS},\"${_x}\"")
++ endforeach()
++ string(REGEX REPLACE "^," "" SIP_LIBRARY_DIRS ${SIP_LIBRARY_DIRS})
++ message(WARNING "test lib dir: ${SIP_LIBRARY_DIRS}")
++
++ set(MACOS_MINIMUM_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
++
++ # TODO:
++ # I don't know what to do about LDFLAGS_OTHER
++ # what's the equivalent construct in sip5?
++
++ configure_file(
++ ${__PYTHON_QT_BINDING_SIP_HELPER_DIR}/pyproject.toml.in
++ ${sip_BINARY_DIR}/sip/pyproject.toml
++ )
++ add_custom_command(
++ OUTPUT ${sip_LIBRARY_DIR}/lib${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
++ COMMAND ${Python3_EXECUTABLE} -m pip install . --target ${sip_LIBRARY_DIR} --no-deps --verbose --upgrade
++ DEPENDS ${sip_SIP_CONFIGURE} ${SIP_FILE} ${sip_DEPENDS}
++ WORKING_DIRECTORY ${sip_BINARY_DIR}/sip
++ COMMENT "Running SIP-build generator for ${PROJECT_NAME} Python bindings..."
++ )
+ else()
+- find_program(MAKE_PROGRAM NAMES make)
+- message(STATUS "Found required make: ${MAKE_PROGRAM}")
+- set(MAKE_EXECUTABLE ${MAKE_PROGRAM})
+- endif()
++ add_custom_command(
++ OUTPUT ${SIP_BUILD_DIR}/Makefile
++ COMMAND ${Python3_EXECUTABLE} ${sip_SIP_CONFIGURE} ${SIP_BUILD_DIR} ${SIP_FILE} ${sip_LIBRARY_DIR}
++ \"${INCLUDE_DIRS}\" \"${LIBRARIES}\" \"${LIBRARY_DIRS}\" \"${LDFLAGS_OTHER}\"
++ DEPENDS ${sip_SIP_CONFIGURE} ${SIP_FILE} ${sip_DEPENDS}
++ WORKING_DIRECTORY ${sip_SOURCE_DIR}
++ COMMENT "Running SIP generator for ${PROJECT_NAME} Python bindings..."
++ )
+
+- add_custom_command(
+- OUTPUT ${sip_LIBRARY_DIR}/lib${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+- COMMAND ${MAKE_EXECUTABLE}
+- DEPENDS ${SIP_BUILD_DIR}/Makefile
+- WORKING_DIRECTORY ${SIP_BUILD_DIR}
+- COMMENT "Compiling generated code for ${PROJECT_NAME} Python bindings..."
+- )
++ if(NOT EXISTS "${sip_LIBRARY_DIR}")
++ file(MAKE_DIRECTORY ${sip_LIBRARY_DIR})
++ endif()
++
++ if(WIN32)
++ set(MAKE_EXECUTABLE NMake.exe)
++ else()
++ set(MAKE_EXECUTABLE make)
++ endif()
++
++ add_custom_command(
++ OUTPUT ${sip_LIBRARY_DIR}/lib${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
++ COMMAND ${MAKE_EXECUTABLE}
++ DEPENDS ${SIP_BUILD_DIR}/Makefile
++ WORKING_DIRECTORY ${SIP_BUILD_DIR}
++ COMMENT "Compiling generated code for ${PROJECT_NAME} Python bindings..."
++ )
++ endif()
+
+ add_custom_target(lib${PROJECT_NAME} ALL
+ DEPENDS ${sip_LIBRARY_DIR}/lib${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+diff --git a/src/python_qt_binding/__init__.py b/src/python_qt_binding/__init__.py
+index 1e209de..6b55f35 100644
+--- a/src/python_qt_binding/__init__.py
++++ b/src/python_qt_binding/__init__.py
+@@ -66,3 +66,11 @@ for module_name, module in QT_BINDING_MODULES.items():
+ del module
+
+ del sys
++
++import os
++from PyQt5.QtGui import QIcon
++current_theme_path = QIcon.themeSearchPaths()
++conda_path = os.environ['CONDA_PREFIX']
++QIcon.setThemeSearchPaths(current_theme_path + [os.path.join(conda_path, 'share/icons/')])
++QIcon.setThemeName('Adwaita')
++del os
+diff --git a/src/python_qt_binding/binding_helper.py b/src/python_qt_binding/binding_helper.py
+index 27c3237..781fe62 100644
+--- a/src/python_qt_binding/binding_helper.py
++++ b/src/python_qt_binding/binding_helper.py
+@@ -50,11 +50,7 @@ QT_BINDING_VERSION = None
+ def _select_qt_binding(binding_name=None, binding_order=None):
+ global QT_BINDING, QT_BINDING_VERSION
+
+- # order of default bindings can be changed here
+- if platform.system() == 'Darwin':
+- DEFAULT_BINDING_ORDER = ['pyside']
+- else:
+- DEFAULT_BINDING_ORDER = ['pyqt', 'pyside']
++ DEFAULT_BINDING_ORDER = ['pyqt', 'pyside']
+
+ binding_order = binding_order or DEFAULT_BINDING_ORDER
+
diff --git a/recipes/ros-jazzy-python-qt-binding/recipe.yaml b/recipes/ros-jazzy-python-qt-binding/recipe.yaml
new file mode 100644
index 00000000..d1a4949a
--- /dev/null
+++ b/recipes/ros-jazzy-python-qt-binding/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-python-qt-binding
+ version: 2.2.1
+source:
+ git: https://github.com/ros2-gbp/python_qt_binding-release.git
+ tag: release/jazzy/python_qt_binding/2.2.1-1
+ target_directory: ros-jazzy-python-qt-binding/src/work
+ patches:
+ - patch/ros-jazzy-python-qt-binding.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ - if: build_platform != target_platform
+ then:
+ - pyqt-builder
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pyqt
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: build_platform == target_platform
+ then:
+ - pyqt-builder
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - pyqt
+ - pyqt-builder
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-qt-dotgraph/bld_ament_cmake.bat b/recipes/ros-jazzy-qt-dotgraph/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-qt-dotgraph/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-qt-dotgraph/build_ament_cmake.sh b/recipes/ros-jazzy-qt-dotgraph/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-qt-dotgraph/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-qt-dotgraph/recipe.yaml b/recipes/ros-jazzy-qt-dotgraph/recipe.yaml
new file mode 100644
index 00000000..1ad3b249
--- /dev/null
+++ b/recipes/ros-jazzy-qt-dotgraph/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-qt-dotgraph
+ version: 2.7.5
+source:
+ git: https://github.com/ros2-gbp/qt_gui_core-release.git
+ tag: release/jazzy/qt_dotgraph/2.7.5-1
+ target_directory: ros-jazzy-qt-dotgraph/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pygraphviz
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - pydot
+ - python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-qt-gui-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-qt-gui-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-qt-gui-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-qt-gui-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-qt-gui-cpp/patch/ros-jazzy-qt-gui-cpp.patch b/recipes/ros-jazzy-qt-gui-cpp/patch/ros-jazzy-qt-gui-cpp.patch
new file mode 100644
index 00000000..7b18400e
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-cpp/patch/ros-jazzy-qt-gui-cpp.patch
@@ -0,0 +1,61 @@
+diff --git a/src/qt_gui_cpp_sip/CMakeLists.txt b/src/qt_gui_cpp_sip/CMakeLists.txt
+index 47c24958..d5a95d48 100644
+--- a/src/qt_gui_cpp_sip/CMakeLists.txt
++++ b/src/qt_gui_cpp_sip/CMakeLists.txt
+@@ -28,7 +28,7 @@ set(qt_gui_cpp_sip_DEPENDENT_FILES
+
+ # maintain context for different named target
+ set(qt_gui_cpp_sip_INCLUDE_DIRS ${qt_gui_cpp_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../../include")
+-set(qt_gui_cpp_sip_LIBRARY_DIRS ${qt_gui_cpp_LIBRARY_DIRS} lib)
++set(qt_gui_cpp_sip_LIBRARY_DIRS ${CMAKE_BINARY_DIR})
+ set(qt_gui_cpp_sip_LDFLAGS_OTHER ${qt_gui_cpp_LDFLAGS_OTHER})
+
+ ament_get_recursive_properties(deps_include_dirs deps_libraries ${pluginlib_TARGETS})
+@@ -51,16 +51,22 @@ cmake_minimum_required(VERSION 3.20)
+ cmake_policy(SET CMP0094 NEW)
+ set(Python3_FIND_UNVERSIONED_NAMES FIRST)
+
+-find_package(Python3 REQUIRED COMPONENTS Development)
++find_package(Python REQUIRED COMPONENTS Development)
++find_package(OpenGL REQUIRED)
+
+ set(_qt_gui_cpp_sip_LIBRARIES
+ ${deps_libraries}
+- Python3::Python
+ qt_gui_cpp
++ OpenGL::GL
+ )
+
++if(NOT APPLE)
++ set(_qt_gui_cpp_sip_LIBRARIES ${_qt_gui_cpp_sip_LIBRARIES} Python::Python)
++endif()
++
+ # sip needs libraries to have resolved paths and cannot link to cmake targets
+-foreach(_lib_name ${_qt_gui_cpp_sip_LIBRARIES})
++foreach(_lib_name_raw ${_qt_gui_cpp_sip_LIBRARIES})
++ string(REGEX REPLACE "\\.so\\.[0-9,\\.]*" ".so" _lib_name ${_lib_name_raw})
+ if(TARGET ${_lib_name})
+ # Use a nifty cmake generator expression to resolve the target location
+ list(APPEND qt_gui_cpp_sip_LIBRARIES $)
+@@ -91,11 +97,19 @@ if(sip_helper_FOUND)
+ )
+
+ if(APPLE)
+- set(LIBQT_GUI_CPP_SIP_SUFFIX .so)
++ if(${SIP_VERSION} VERSION_GREATER_EQUAL "5.0.0")
++ set(LIBQT_GUI_CPP_SIP_SUFFIX ".cpython-${Python_VERSION_MAJOR}${Python_VERSION_MINOR}-darwin.so")
++ else()
++ set(LIBQT_GUI_CPP_SIP_SUFFIX .so)
++ endif()
+ elseif(WIN32)
+ set(LIBQT_GUI_CPP_SIP_SUFFIX .pyd)
+ else()
+- set(LIBQT_GUI_CPP_SIP_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
++ if(${SIP_VERSION} VERSION_GREATER_EQUAL "5.0.0")
++ set(LIBQT_GUI_CPP_SIP_SUFFIX ".cpython-${Python_VERSION_MAJOR}${Python_VERSION_MINOR}-${CMAKE_HOST_SYSTEM_PROCESSOR}-linux-gnu${CMAKE_SHARED_LIBRARY_SUFFIX}")
++ else()
++ set(LIBQT_GUI_CPP_SIP_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
++ endif()
+ endif()
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libqt_gui_cpp_sip${LIBQT_GUI_CPP_SIP_SUFFIX}
diff --git a/recipes/ros-jazzy-qt-gui-cpp/recipe.yaml b/recipes/ros-jazzy-qt-gui-cpp/recipe.yaml
new file mode 100644
index 00000000..331a84b1
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-cpp/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-qt-gui-cpp
+ version: 2.7.5
+source:
+ git: https://github.com/ros2-gbp/qt_gui_core-release.git
+ tag: release/jazzy/qt_gui_cpp/2.7.5-1
+ target_directory: ros-jazzy-qt-gui-cpp/src/work
+ patches:
+ - patch/ros-jazzy-qt-gui-cpp.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - ${{ 'pyqt' if (build_platform != target_platform) }}
+ - ${{ 'qt-main' if (build_platform != target_platform) }}
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ - if: build_platform != target_platform
+ then:
+ - pyqt-builder
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pep517
+ - pip
+ - pkg-config
+ - pyside2
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-pluginlib
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: build_platform == target_platform
+ then:
+ - pyqt-builder
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - pep517
+ - pyqt-builder
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-qt-gui
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-qt-gui-py-common/bld_ament_cmake.bat b/recipes/ros-jazzy-qt-gui-py-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-py-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-qt-gui-py-common/build_ament_cmake.sh b/recipes/ros-jazzy-qt-gui-py-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-py-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-qt-gui-py-common/recipe.yaml b/recipes/ros-jazzy-qt-gui-py-common/recipe.yaml
new file mode 100644
index 00000000..f22ae187
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui-py-common/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-qt-gui-py-common
+ version: 2.7.5
+source:
+ git: https://github.com/ros2-gbp/qt_gui_core-release.git
+ tag: release/jazzy/qt_gui_py_common/2.7.5-1
+ target_directory: ros-jazzy-qt-gui-py-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-qt-gui/bld_ament_cmake.bat b/recipes/ros-jazzy-qt-gui/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-qt-gui/build_ament_cmake.sh b/recipes/ros-jazzy-qt-gui/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-qt-gui/recipe.yaml b/recipes/ros-jazzy-qt-gui/recipe.yaml
new file mode 100644
index 00000000..8a94aab0
--- /dev/null
+++ b/recipes/ros-jazzy-qt-gui/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-qt-gui
+ version: 2.7.5
+source:
+ git: https://github.com/ros2-gbp/qt_gui_core-release.git
+ tag: release/jazzy/qt_gui/2.7.5-1
+ target_directory: ros-jazzy-qt-gui/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ - if: build_platform != target_platform
+ then:
+ - pyqt-builder
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pyqt
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: build_platform == target_platform
+ then:
+ - pyqt-builder
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - catkin_pkg
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tango-icons-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-quality-of-service-demo-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-quality-of-service-demo-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-quality-of-service-demo-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-quality-of-service-demo-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-quality-of-service-demo-cpp/recipe.yaml b/recipes/ros-jazzy-quality-of-service-demo-cpp/recipe.yaml
new file mode 100644
index 00000000..243c61ea
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-cpp/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-quality-of-service-demo-cpp
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/quality_of_service_demo_cpp/0.33.5-1
+ target_directory: ros-jazzy-quality-of-service-demo-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-quality-of-service-demo-py/bld_ament_python.bat b/recipes/ros-jazzy-quality-of-service-demo-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-quality-of-service-demo-py/build_ament_python.sh b/recipes/ros-jazzy-quality-of-service-demo-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-quality-of-service-demo-py/recipe.yaml b/recipes/ros-jazzy-quality-of-service-demo-py/recipe.yaml
new file mode 100644
index 00000000..401ffd4e
--- /dev/null
+++ b/recipes/ros-jazzy-quality-of-service-demo-py/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-quality-of-service-demo-py
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/quality_of_service_demo_py/0.33.5-1
+ target_directory: ros-jazzy-quality-of-service-demo-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-random-numbers/bld_ament_cmake.bat b/recipes/ros-jazzy-random-numbers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-random-numbers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-random-numbers/build_ament_cmake.sh b/recipes/ros-jazzy-random-numbers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-random-numbers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-random-numbers/recipe.yaml b/recipes/ros-jazzy-random-numbers/recipe.yaml
new file mode 100644
index 00000000..d25c3d94
--- /dev/null
+++ b/recipes/ros-jazzy-random-numbers/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-random-numbers
+ version: 2.0.1
+source:
+ git: https://github.com/ros2-gbp/random_numbers-release.git
+ tag: release/jazzy/random_numbers/2.0.1-5
+ target_directory: ros-jazzy-random-numbers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libboost
+ - libboost-devel
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-range-sensor-broadcaster/bld_ament_cmake.bat b/recipes/ros-jazzy-range-sensor-broadcaster/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-range-sensor-broadcaster/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-range-sensor-broadcaster/build_ament_cmake.sh b/recipes/ros-jazzy-range-sensor-broadcaster/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-range-sensor-broadcaster/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-range-sensor-broadcaster/recipe.yaml b/recipes/ros-jazzy-range-sensor-broadcaster/recipe.yaml
new file mode 100644
index 00000000..a54af76d
--- /dev/null
+++ b/recipes/ros-jazzy-range-sensor-broadcaster/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-range-sensor-broadcaster
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/range_sensor_broadcaster/4.20.0-1
+ target_directory: ros-jazzy-range-sensor-broadcaster/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-action/recipe.yaml b/recipes/ros-jazzy-rcl-action/recipe.yaml
new file mode 100644
index 00000000..8185494e
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-action/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-action
+ version: 9.2.4
+source:
+ git: https://github.com/ros2-gbp/rcl-release.git
+ tag: release/jazzy/rcl_action/9.2.4-1
+ target_directory: ros-jazzy-rcl-action/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcl
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-rcl
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-interfaces/recipe.yaml b/recipes/ros-jazzy-rcl-interfaces/recipe.yaml
new file mode 100644
index 00000000..7018c253
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-interfaces/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-interfaces
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/rcl_interfaces/2.0.2-2
+ target_directory: ros-jazzy-rcl-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml b/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml
new file mode 100644
index 00000000..3b2654c2
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-lifecycle
+ version: 9.2.4
+source:
+ git: https://github.com/ros2-gbp/rcl-release.git
+ tag: release/jazzy/rcl_lifecycle/9.2.4-1
+ target_directory: ros-jazzy-rcl-lifecycle/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcl
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rcl
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml b/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml
new file mode 100644
index 00000000..ba4b9eb3
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-logging-interface
+ version: 3.1.1
+source:
+ git: https://github.com/ros2-gbp/rcl_logging-release.git
+ tag: release/jazzy/rcl_logging_interface/3.1.1-1
+ target_directory: ros-jazzy-rcl-logging-interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml b/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml
new file mode 100644
index 00000000..627ab75d
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-logging-spdlog
+ version: 3.1.1
+source:
+ git: https://github.com/ros2-gbp/rcl_logging-release.git
+ tag: release/jazzy/rcl_logging_spdlog/3.1.1-1
+ target_directory: ros-jazzy-rcl-logging-spdlog/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-spdlog-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - spdlog
+ run:
+ - python
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-spdlog-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - spdlog
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml b/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml
new file mode 100644
index 00000000..904a7130
--- /dev/null
+++ b/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl-yaml-param-parser
+ version: 9.2.4
+source:
+ git: https://github.com/ros2-gbp/rcl-release.git
+ tag: release/jazzy/rcl_yaml_param_parser/9.2.4-1
+ target_directory: ros-jazzy-rcl-yaml-param-parser/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-libyaml-vendor
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ run:
+ - python
+ - ros-jazzy-libyaml-vendor
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcl/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcl/build_ament_cmake.sh b/recipes/ros-jazzy-rcl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcl/recipe.yaml b/recipes/ros-jazzy-rcl/recipe.yaml
new file mode 100644
index 00000000..cdf1e4a8
--- /dev/null
+++ b/recipes/ros-jazzy-rcl/recipe.yaml
@@ -0,0 +1,124 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcl
+ version: 9.2.4
+source:
+ git: https://github.com/ros2-gbp/rcl-release.git
+ tag: release/jazzy/rcl/9.2.4-1
+ target_directory: ros-jazzy-rcl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-libyaml-vendor
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-logging-spdlog
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-service-msgs
+ - ros-jazzy-test-msgs
+ - ros-jazzy-tracetools
+ - ros-jazzy-type-description-interfaces
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ run:
+ - python
+ - ros-jazzy-libyaml-vendor
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-logging-spdlog
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-service-msgs
+ - ros-jazzy-tracetools
+ - ros-jazzy-type-description-interfaces
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rclcpp-action/recipe.yaml b/recipes/ros-jazzy-rclcpp-action/recipe.yaml
new file mode 100644
index 00000000..9e2ed5d6
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-action/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rclcpp-action
+ version: 28.1.6
+source:
+ git: https://github.com/ros2-gbp/rclcpp-release.git
+ tag: release/jazzy/rclcpp_action/28.1.6-1
+ target_directory: ros-jazzy-rclcpp-action/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-action
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-action
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rclcpp-components/recipe.yaml b/recipes/ros-jazzy-rclcpp-components/recipe.yaml
new file mode 100644
index 00000000..8565452d
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-components/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rclcpp-components
+ version: 28.1.6
+source:
+ git: https://github.com/ros2-gbp/rclcpp-release.git
+ tag: release/jazzy/rclcpp_components/28.1.6-1
+ target_directory: ros-jazzy-rclcpp-components/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-class-loader
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-launch-testing
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-class-loader
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml b/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml
new file mode 100644
index 00000000..dfebfc2c
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rclcpp-lifecycle
+ version: 28.1.6
+source:
+ git: https://github.com/ros2-gbp/rclcpp-release.git
+ tag: release/jazzy/rclcpp_lifecycle/28.1.6-1
+ target_directory: ros-jazzy-rclcpp-lifecycle/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-lifecycle
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-lifecycle
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rclcpp/recipe.yaml b/recipes/ros-jazzy-rclcpp/recipe.yaml
new file mode 100644
index 00000000..4dfc187b
--- /dev/null
+++ b/recipes/ros-jazzy-rclcpp/recipe.yaml
@@ -0,0 +1,131 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rclcpp
+ version: 28.1.6
+source:
+ git: https://github.com/ros2-gbp/rclcpp-release.git
+ tag: release/jazzy/rclcpp/28.1.6-1
+ target_directory: ros-jazzy-rclcpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-libstatistics-collector
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-statistics-msgs
+ - ros-jazzy-test-msgs
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-libstatistics-collector
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-statistics-msgs
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat b/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rclpy/build_ament_cmake.sh b/recipes/ros-jazzy-rclpy/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rclpy/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rclpy/recipe.yaml b/recipes/ros-jazzy-rclpy/recipe.yaml
new file mode 100644
index 00000000..e22586b2
--- /dev/null
+++ b/recipes/ros-jazzy-rclpy/recipe.yaml
@@ -0,0 +1,133 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rclpy
+ version: 7.1.3
+source:
+ git: https://github.com/ros2-gbp/rclpy-release.git
+ tag: release/jazzy/rclpy/7.1.3-1
+ target_directory: ros-jazzy-rclpy/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pybind11-vendor
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-action
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-lifecycle
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-generator-py
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-test-msgs
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - pybind11
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rcl
+ - ros-jazzy-rcl-action
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rcl-lifecycle
+ - ros-jazzy-rcl-logging-interface
+ - ros-jazzy-rcl-yaml-param-parser
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rpyutils
+ - ros-jazzy-unique-identifier-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - python:
+ imports:
+ - rclpy
+ pip_check: false
diff --git a/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat b/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh b/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcpputils/recipe.yaml b/recipes/ros-jazzy-rcpputils/recipe.yaml
new file mode 100644
index 00000000..c7d8881c
--- /dev/null
+++ b/recipes/ros-jazzy-rcpputils/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcpputils
+ version: 2.11.1
+source:
+ git: https://github.com/ros2-gbp/rcpputils-release.git
+ tag: release/jazzy/rcpputils/2.11.1-1
+ target_directory: ros-jazzy-rcpputils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-flake8
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-pep257
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat b/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rcutils/build_ament_cmake.sh b/recipes/ros-jazzy-rcutils/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rcutils/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rcutils/recipe.yaml b/recipes/ros-jazzy-rcutils/recipe.yaml
new file mode 100644
index 00000000..a6a03de7
--- /dev/null
+++ b/recipes/ros-jazzy-rcutils/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rcutils
+ version: 6.7.2
+source:
+ git: https://github.com/ros2-gbp/rcutils-release.git
+ tag: release/jazzy/rcutils/6.7.2-1
+ target_directory: ros-jazzy-rcutils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - empy
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-realtime-tools/bld_ament_cmake.bat b/recipes/ros-jazzy-realtime-tools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-realtime-tools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-realtime-tools/build_ament_cmake.sh b/recipes/ros-jazzy-realtime-tools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-realtime-tools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-realtime-tools/recipe.yaml b/recipes/ros-jazzy-realtime-tools/recipe.yaml
new file mode 100644
index 00000000..4ed9781e
--- /dev/null
+++ b/recipes/ros-jazzy-realtime-tools/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-realtime-tools
+ version: 3.3.0
+source:
+ git: https://github.com/ros2-gbp/realtime_tools-release.git
+ tag: release/jazzy/realtime_tools/3.3.0-1
+ target_directory: ros-jazzy-realtime-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libcap
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libboost-devel
+ - libcap
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-resource-retriever/bld_ament_cmake.bat b/recipes/ros-jazzy-resource-retriever/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-resource-retriever/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-resource-retriever/build_ament_cmake.sh b/recipes/ros-jazzy-resource-retriever/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-resource-retriever/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-resource-retriever/recipe.yaml b/recipes/ros-jazzy-resource-retriever/recipe.yaml
new file mode 100644
index 00000000..0caba783
--- /dev/null
+++ b/recipes/ros-jazzy-resource-retriever/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-resource-retriever
+ version: 3.4.3
+source:
+ git: https://github.com/ros2-gbp/resource_retriever-release.git
+ tag: release/jazzy/resource_retriever/3.4.3-1
+ target_directory: ros-jazzy-resource-retriever/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-libcurl-vendor
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-libcurl-vendor
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml b/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml
new file mode 100644
index 00000000..73732a1c
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-connextdds-common
+ version: 0.22.0
+source:
+ git: https://github.com/ros2-gbp/rmw_connextdds-release.git
+ tag: release/jazzy/rmw_connextdds_common/0.22.0-2
+ target_directory: ros-jazzy-rmw-connextdds-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-rti-connext-dds-cmake-module
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-rti-connext-dds-cmake-module
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-connextdds/recipe.yaml b/recipes/ros-jazzy-rmw-connextdds/recipe.yaml
new file mode 100644
index 00000000..63cdfec5
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-connextdds/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-connextdds
+ version: 0.22.0
+source:
+ git: https://github.com/ros2-gbp/rmw_connextdds-release.git
+ tag: release/jazzy/rmw_connextdds/0.22.0-2
+ target_directory: ros-jazzy-rmw-connextdds/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rmw-connextdds-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rmw-connextdds-common
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml
new file mode 100644
index 00000000..6f35084c
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-cyclonedds-cpp
+ version: 2.2.2
+source:
+ git: https://github.com/ros2-gbp/rmw_cyclonedds-release.git
+ tag: release/jazzy/rmw_cyclonedds_cpp/2.2.2-1
+ target_directory: ros-jazzy-rmw-cyclonedds-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - ros-jazzy-cyclonedds
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cyclonedds
+ - ros-jazzy-iceoryx-binding-c
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cyclonedds
+ - ros-jazzy-iceoryx-binding-c
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-dds-common/recipe.yaml b/recipes/ros-jazzy-rmw-dds-common/recipe.yaml
new file mode 100644
index 00000000..64317e02
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-dds-common/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-dds-common
+ version: 3.1.0
+source:
+ git: https://github.com/ros2-gbp/rmw_dds_common-release.git
+ tag: release/jazzy/rmw_dds_common/3.1.0-2
+ target_directory: ros-jazzy-rmw-dds-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml
new file mode 100644
index 00000000..13ba231e
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml
@@ -0,0 +1,121 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-fastrtps-cpp
+ version: 8.4.1
+source:
+ git: https://github.com/ros2-gbp/rmw_fastrtps-release.git
+ tag: release/jazzy/rmw_fastrtps_cpp/8.4.1-1
+ target_directory: ros-jazzy-rmw-fastrtps-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-rmw-fastrtps-shared-cpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-dynamic-typesupport-fastrtps
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-test-msgs
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-rmw-fastrtps-shared-cpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-dynamic-typesupport-fastrtps
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml
new file mode 100644
index 00000000..4f1292e1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-fastrtps-dynamic-cpp
+ version: 8.4.1
+source:
+ git: https://github.com/ros2-gbp/rmw_fastrtps-release.git
+ tag: release/jazzy/rmw_fastrtps_dynamic_cpp/8.4.1-1
+ target_directory: ros-jazzy-rmw-fastrtps-dynamic-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-rmw-fastrtps-shared-cpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-rmw-fastrtps-shared-cpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml
new file mode 100644
index 00000000..d71f2a45
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-fastrtps-shared-cpp
+ version: 8.4.1
+source:
+ git: https://github.com/ros2-gbp/rmw_fastrtps-release.git
+ tag: release/jazzy/rmw_fastrtps_shared_cpp/8.4.1-1
+ target_directory: ros-jazzy-rmw-fastrtps-shared-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-tracetools
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml b/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml
new file mode 100644
index 00000000..50ed1587
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-implementation-cmake
+ version: 7.3.1
+source:
+ git: https://github.com/ros2-gbp/rmw-release.git
+ tag: release/jazzy/rmw_implementation_cmake/7.3.1-1
+ target_directory: ros-jazzy-rmw-implementation-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-implementation/recipe.yaml b/recipes/ros-jazzy-rmw-implementation/recipe.yaml
new file mode 100644
index 00000000..fb4e5eb7
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-implementation/recipe.yaml
@@ -0,0 +1,105 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-implementation
+ version: 2.15.4
+source:
+ git: https://github.com/ros2-gbp/rmw_implementation-release.git
+ tag: release/jazzy/rmw_implementation/2.15.4-1
+ target_directory: ros-jazzy-rmw-implementation/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-connextdds
+ - ros-jazzy-rmw-cyclonedds-cpp
+ - ros-jazzy-rmw-fastrtps-cpp
+ - ros-jazzy-rmw-fastrtps-dynamic-cpp
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw-connextdds
+ - ros-jazzy-rmw-cyclonedds-cpp
+ - ros-jazzy-rmw-fastrtps-cpp
+ - ros-jazzy-rmw-fastrtps-dynamic-cpp
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw-zenoh-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-zenoh-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-zenoh-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw-zenoh-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-zenoh-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-zenoh-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw-zenoh-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-zenoh-cpp/recipe.yaml
new file mode 100644
index 00000000..d16833ab
--- /dev/null
+++ b/recipes/ros-jazzy-rmw-zenoh-cpp/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw-zenoh-cpp
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/rmw_zenoh-release.git
+ tag: release/jazzy/rmw_zenoh_cpp/0.2.0-1
+ target_directory: ros-jazzy-rmw-zenoh-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libzenohc
+ - libzenohcxx
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-zenoh-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-fastcdr
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-zenoh-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rmw/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rmw/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rmw/build_ament_cmake.sh b/recipes/ros-jazzy-rmw/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rmw/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rmw/recipe.yaml b/recipes/ros-jazzy-rmw/recipe.yaml
new file mode 100644
index 00000000..b2ce647f
--- /dev/null
+++ b/recipes/ros-jazzy-rmw/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rmw
+ version: 7.3.1
+source:
+ git: https://github.com/ros2-gbp/rmw-release.git
+ tag: release/jazzy/rmw/7.3.1-1
+ target_directory: ros-jazzy-rmw/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-cmake-version
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-robot-localization/bld_ament_cmake.bat b/recipes/ros-jazzy-robot-localization/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-robot-localization/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-robot-localization/build_ament_cmake.sh b/recipes/ros-jazzy-robot-localization/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-robot-localization/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-robot-localization/recipe.yaml b/recipes/ros-jazzy-robot-localization/recipe.yaml
new file mode 100644
index 00000000..7e5c8ee8
--- /dev/null
+++ b/recipes/ros-jazzy-robot-localization/recipe.yaml
@@ -0,0 +1,132 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-robot-localization
+ version: 3.8.1
+source:
+ git: https://github.com/ros2-gbp/robot_localization-release.git
+ tag: release/jazzy/robot_localization/3.8.1-1
+ target_directory: ros-jazzy-robot-localization/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - geographiclib-cpp
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - geographiclib-cpp
+ - libboost-devel
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geographic-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat b/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh b/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-robot-state-publisher/recipe.yaml b/recipes/ros-jazzy-robot-state-publisher/recipe.yaml
new file mode 100644
index 00000000..c1c235fe
--- /dev/null
+++ b/recipes/ros-jazzy-robot-state-publisher/recipe.yaml
@@ -0,0 +1,111 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-robot-state-publisher
+ version: 3.3.3
+source:
+ git: https://github.com/ros2-gbp/robot_state_publisher-release.git
+ tag: release/jazzy/robot_state_publisher/3.3.3-3
+ target_directory: ros-jazzy-robot-state-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-base/build_ament_cmake.sh b/recipes/ros-jazzy-ros-base/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-base/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-base/recipe.yaml b/recipes/ros-jazzy-ros-base/recipe.yaml
new file mode 100644
index 00000000..2b221c6a
--- /dev/null
+++ b/recipes/ros-jazzy-ros-base/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-base
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/ros_base/0.11.0-1
+ target_directory: ros-jazzy-ros-base/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry2
+ - ros-jazzy-kdl-parser
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-core
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2
+ - ros-jazzy-urdf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-core/build_ament_cmake.sh b/recipes/ros-jazzy-ros-core/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-core/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-core/recipe.yaml b/recipes/ros-jazzy-ros-core/recipe.yaml
new file mode 100644
index 00000000..ba21ce4a
--- /dev/null
+++ b/recipes/ros-jazzy-ros-core/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-core
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/ros_core/0.11.0-1
+ target_directory: ros-jazzy-ros-core/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-class-loader
+ - ros-jazzy-common-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcl-lifecycle
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli-common-extensions
+ - ros-jazzy-ros2launch
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sros2
+ - ros-jazzy-sros2-cmake
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-environment/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-environment/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-environment/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-environment/build_ament_cmake.sh b/recipes/ros-jazzy-ros-environment/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-environment/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-environment/recipe.yaml b/recipes/ros-jazzy-ros-environment/recipe.yaml
new file mode 100644
index 00000000..5d3aa192
--- /dev/null
+++ b/recipes/ros-jazzy-ros-environment/recipe.yaml
@@ -0,0 +1,81 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-environment
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/ros_environment-release.git
+ tag: release/jazzy/ros_environment/4.2.1-1
+ target_directory: ros-jazzy-ros-environment/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-gz-bridge/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz-bridge/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-bridge/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz-bridge/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz-bridge/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-bridge/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz-bridge/recipe.yaml b/recipes/ros-jazzy-ros-gz-bridge/recipe.yaml
new file mode 100644
index 00000000..0fa48d1a
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-bridge/recipe.yaml
@@ -0,0 +1,128 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz-bridge
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz_bridge/1.0.7-1
+ target_directory: ros-jazzy-ros-gz-bridge/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-actuator-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gps-msgs
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-gz-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-vision-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-actuator-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gps-msgs
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-gz-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-vision-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-gz-image/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz-image/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-image/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz-image/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz-image/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-image/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz-image/patch/ros-jazzy-ros-gz-image.patch b/recipes/ros-jazzy-ros-gz-image/patch/ros-jazzy-ros-gz-image.patch
new file mode 100644
index 00000000..27945782
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-image/patch/ros-jazzy-ros-gz-image.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e6e8de26..8e9ea2d3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,6 +10,9 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ add_compile_options(-Wall -Wextra)
+ endif()
+
++find_package(gz-cmake3 REQUIRED 3.5.2)
++gz_find_package(TINYXML2 REQUIRED PRIVATE PRETTY tinyxml2)
++
+ find_package(ament_cmake REQUIRED)
+ find_package(image_transport REQUIRED)
+ find_package(ros_gz_bridge REQUIRED)
diff --git a/recipes/ros-jazzy-ros-gz-image/recipe.yaml b/recipes/ros-jazzy-ros-gz-image/recipe.yaml
new file mode 100644
index 00000000..f3022920
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-image/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz-image
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz_image/1.0.7-1
+ target_directory: ros-jazzy-ros-gz-image/src/work
+ patches:
+ - patch/ros-jazzy-ros-gz-image.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-image-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-gz-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz-interfaces/recipe.yaml b/recipes/ros-jazzy-ros-gz-interfaces/recipe.yaml
new file mode 100644
index 00000000..b03a951e
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-interfaces/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz-interfaces
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz_interfaces/1.0.7-1
+ target_directory: ros-jazzy-ros-gz-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-gz-sim-demos/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz-sim-demos/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim-demos/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz-sim-demos/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz-sim-demos/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim-demos/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz-sim-demos/recipe.yaml b/recipes/ros-jazzy-ros-gz-sim-demos/recipe.yaml
new file mode 100644
index 00000000..69d5a28d
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim-demos/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz-sim-demos
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz_sim_demos/1.0.7-1
+ target_directory: ros-jazzy-ros-gz-sim-demos/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-image-transport-plugins
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-gz-image
+ - ros-jazzy-ros-gz-sim
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-image-view
+ - ros-jazzy-rqt-plot
+ - ros-jazzy-rqt-topic
+ - ros-jazzy-rviz2
+ - ros-jazzy-sdformat-urdf
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-gz-sim/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz-sim/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz-sim/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz-sim/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz-sim/recipe.yaml b/recipes/ros-jazzy-ros-gz-sim/recipe.yaml
new file mode 100644
index 00000000..e4a413e4
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz-sim/recipe.yaml
@@ -0,0 +1,126 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz-sim
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz_sim/1.0.7-1
+ target_directory: ros-jazzy-ros-gz-sim/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - gflags
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - gflags
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-msgs-vendor
+ - ros-jazzy-gz-sim-vendor
+ - ros-jazzy-gz-transport-vendor
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-ros-gz/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-gz/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-gz/build_ament_cmake.sh b/recipes/ros-jazzy-ros-gz/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-gz/recipe.yaml b/recipes/ros-jazzy-ros-gz/recipe.yaml
new file mode 100644
index 00000000..73fd0ef5
--- /dev/null
+++ b/recipes/ros-jazzy-ros-gz/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-gz
+ version: 1.0.7
+source:
+ git: https://github.com/ros2-gbp/ros_ign-release.git
+ tag: release/jazzy/ros_gz/1.0.7-1
+ target_directory: ros-jazzy-ros-gz/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-gz-image
+ - ros-jazzy-ros-gz-sim
+ - ros-jazzy-ros-gz-sim-demos
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/bld_catkin.bat b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/build_catkin.sh b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/recipe.yaml b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/recipe.yaml
new file mode 100644
index 00000000..ea0bcc17
--- /dev/null
+++ b/recipes/ros-jazzy-ros-industrial-cmake-boilerplate/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-industrial-cmake-boilerplate
+ version: 0.5.4
+source:
+ git: https://github.com/ros2-gbp/ros_industrial_cmake_boilerplate-release.git
+ tag: release/jazzy/ros_industrial_cmake_boilerplate/0.5.4-3
+ target_directory: ros-jazzy-ros-industrial-cmake-boilerplate/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - cppcheck
+ - gtest
+ - lcov
+ - libclang
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh b/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros-testing/recipe.yaml b/recipes/ros-jazzy-ros-testing/recipe.yaml
new file mode 100644
index 00000000..e4ea34a8
--- /dev/null
+++ b/recipes/ros-jazzy-ros-testing/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-testing
+ version: 0.6.0
+source:
+ git: https://github.com/ros2-gbp/ros_testing-release.git
+ tag: release/jazzy/ros_testing/0.6.0-3
+ target_directory: ros-jazzy-ros-testing/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-export-dependencies
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2test
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2test
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros-workspace/activate.bat b/recipes/ros-jazzy-ros-workspace/activate.bat
new file mode 100644
index 00000000..48ff1d71
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/activate.bat
@@ -0,0 +1,15 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+@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/recipes/ros-jazzy-ros-workspace/activate.ps1 b/recipes/ros-jazzy-ros-workspace/activate.ps1
new file mode 100644
index 00000000..137e67ae
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/activate.ps1
@@ -0,0 +1,16 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+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/recipes/ros-jazzy-ros-workspace/activate.sh b/recipes/ros-jazzy-ros-workspace/activate.sh
new file mode 100644
index 00000000..4a35f587
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/activate.sh
@@ -0,0 +1,26 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+# if [ -z "${CONDA_PREFIX}" ]; then
+# exit 0;
+# fi
+
+# Not sure if this is necessary on UNIX?
+# export QT_PLUGIN_PATH=$CONDA_PREFIX\plugins
+
+if [ "$CONDA_BUILD" = "1" -a "$target_platform" != "$build_platform" ]; then
+ # ignore sourcing
+ echo "Not activating ROS when cross-compiling";
+else
+ source $CONDA_PREFIX/setup.sh
+fi
+
+case "$OSTYPE" in
+ darwin*) export ROS_OS_OVERRIDE="conda:osx";;
+ linux*) export ROS_OS_OVERRIDE="conda:linux";;
+esac
+
+export ROS_ETC_DIR=$CONDA_PREFIX/etc/ros
+export AMENT_PREFIX_PATH=$CONDA_PREFIX
+
+# Looks unnecessary for UNIX
+# unset PYTHONHOME=
diff --git a/recipes/ros-jazzy-ros-workspace/bld_catkin.bat b/recipes/ros-jazzy-ros-workspace/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-ros-workspace/build_catkin.sh b/recipes/ros-jazzy-ros-workspace/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-ros-workspace/deactivate.bat b/recipes/ros-jazzy-ros-workspace/deactivate.bat
new file mode 100644
index 00000000..6de79cca
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/deactivate.bat
@@ -0,0 +1,18 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+@if not defined CONDA_PREFIX goto:eof
+
+@set ROS_OS_OVERRIDE=
+@set ROS_DISTRO=
+@set ROS_ETC_DIR=
+@set ROS_PACKAGE_PATH=
+@set ROS_PYTHON_VERSION=
+@set ROS_VERSION=
+@set PYTHONHOME=
+@set PYTHONPATH=
+@set CMAKE_PREFIX_PATH=
+@set AMENT_PREFIX_PATH=
+@set COLCON_PREFIX_PATH=
+@set QT_PLUGIN_PATH=
+@set ROS_LOCALHOST_ONLY=
+@set ament_python_executable=
diff --git a/recipes/ros-jazzy-ros-workspace/deactivate.ps1 b/recipes/ros-jazzy-ros-workspace/deactivate.ps1
new file mode 100644
index 00000000..9db51e1c
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/deactivate.ps1
@@ -0,0 +1,18 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+if ($null -eq ${env:CONDA_PREFIX}) { Exit }
+
+$Env:ROS_OS_OVERRIDE=''
+$Env:ROS_DISTRO=''
+$Env:ROS_ETC_DIR=''
+$Env:ROS_PACKAGE_PATH=''
+$Env:ROS_PYTHON_VERSION=''
+$Env:ROS_VERSION=''
+$Env:PYTHONHOME=''
+$Env:PYTHONPATH=''
+$Env:CMAKE_PREFIX_PATH=''
+$Env:AMENT_PREFIX_PATH=''
+$Env:COLCON_PREFIX_PATH=''
+$Env:QT_PLUGIN_PATH=''
+$Env:ROS_LOCALHOST_ONLY=''
+$Env:ament_python_executable=''
diff --git a/recipes/ros-jazzy-ros-workspace/deactivate.sh b/recipes/ros-jazzy-ros-workspace/deactivate.sh
new file mode 100644
index 00000000..87d4d835
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/deactivate.sh
@@ -0,0 +1,21 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+if [ -z "${CONDA_PREFIX}" ]; then
+ exit 0
+fi
+
+unset ROS_DISTRO
+unset ROS_ETC_DIR
+unset ROS_PACKAGE_PATH
+unset ROS_PYTHON_VERSION
+unset CMAKE_PREFIX_PATH
+unset AMENT_PREFIX_PATH
+unset COLCON_PREFIX_PATH
+unset ROS_VERSION
+unset ROS_OS_OVERRIDE
+# unset PYTHONPATH
+# unset PYTHONHOME
+# unset QT_PLUGIN_PATH
+unset ROS_LOCALHOST_ONLY
+unset ament_python_executable
+unset RMW_IMPLEMENTATION
diff --git a/recipes/ros-jazzy-ros-workspace/patch/ros-jazzy-ros-workspace.patch b/recipes/ros-jazzy-ros-workspace/patch/ros-jazzy-ros-workspace.patch
new file mode 100644
index 00000000..7d05c9ca
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/patch/ros-jazzy-ros-workspace.patch
@@ -0,0 +1,61 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f2ed31b..50b5843 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,7 @@ project(ros_workspace NONE)
+ find_package(ament_cmake_core REQUIRED)
+
+ # Collect current python 3 version
+-execute_process(COMMAND python3 -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
++find_package (Python COMPONENTS Interpreter Development)
+
+ # Locate ament_package template files.
+ if(WIN32)
+@@ -14,7 +14,15 @@ else()
+ set(PYTHON_INSTALL_DIR "lib/python${PYTHON_MAJOR_MINOR}/site-packages")
+ set(SHELL_EXT "sh")
+ endif()
+-set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package")
++set(AMENT_PACKAGE_DIR "${Python_SITELIB}/ament_package")
++
++if(NOT EXISTS "${AMENT_PACKAGE_DIR}" AND "$ENV{CONDA_BUILD_CROSS_COMPILATION}" EQUAL "1")
++ message(WARNING "Could not find '${AMENT_PACKAGE_DIR}'. Replace '$ENV{PREFIX}' with '$ENV{BUILD_PREFIX}'.")
++ string(REPLACE "$ENV{PREFIX}" "$ENV{BUILD_PREFIX}" AMENT_PACKAGE_DIR_REP ${AMENT_PACKAGE_DIR})
++ set(AMENT_PACKAGE_DIR "${AMENT_PACKAGE_DIR_REP}")
++ message(WARNING "Now try '${AMENT_PACKAGE_DIR}'.")
++endif()
++
+ if(NOT EXISTS "${AMENT_PACKAGE_DIR}")
+ # Check for an .egg-link file and use the listed directory if it exists
+ get_filename_component(AMENT_PACKAGE_EGG_LINK "${AMENT_PACKAGE_DIR}" DIRECTORY)
+@@ -38,28 +46,7 @@ set(
+ "prepend-non-duplicate;PYTHONPATH;${PYTHON_INSTALL_DIR}")
+
+ # Set environment hooks for default environment.
+-if(WIN32)
+- ament_environment_hooks("${PYTHONPATH_HOOK}")
+-else()
+- set(LIBRARY_PATH_HOOK "${AMENT_PACKAGE_TEMPLATE_DIR}/environment_hook/library_path.${SHELL_EXT}")
+- # enable C language so that a trycompile can determine what the
+- # anticipated libdir will be.
+- enable_language(C)
+- include(GNUInstallDirs)
+- if(NOT ${CMAKE_INSTALL_LIBDIR} STREQUAL "lib")
+- # register multiarch information for .dsv generation
+- if(APPLE)
+- set(LIBRARY_PATH_ENV_VAR "DYLD_LIBRARY_PATH")
+- else()
+- set(LIBRARY_PATH_ENV_VAR "LD_LIBRARY_PATH")
+- endif()
+- set(
+- AMENT_CMAKE_ENVIRONMENT_HOOKS_DESC_multiarch_library_paths
+- "prepend-non-duplicate;${LIBRARY_PATH_ENV_VAR};${CMAKE_INSTALL_LIBDIR}")
+- set(MULTIARCH_LIBRARY_PATH_HOOK "env-hooks/multiarch_library_paths.sh.in")
+- endif()
+- ament_environment_hooks("${LIBRARY_PATH_HOOK}" "${PYTHONPATH_HOOK}" ${MULTIARCH_LIBRARY_PATH_HOOK})
+-endif()
++ament_environment_hooks("${BINARY_PATH_HOOK}" "${PYTHONPATH_HOOK}")
+
+ # skip using ament_index/resource_index/parent_prefix_path
+ # if for Debian packages it is known that there are no underlays
+
diff --git a/recipes/ros-jazzy-ros-workspace/recipe.yaml b/recipes/ros-jazzy-ros-workspace/recipe.yaml
new file mode 100644
index 00000000..7df0e765
--- /dev/null
+++ b/recipes/ros-jazzy-ros-workspace/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros-workspace
+ version: 1.0.3
+source:
+ git: https://github.com/ros2-gbp/ros_workspace-release.git
+ tag: release/jazzy/ros_workspace/1.0.3-7
+ target_directory: ros-jazzy-ros-workspace/src/work
+ patches:
+ - patch/ros-jazzy-ros-workspace.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-package
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2-control-test-assets/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2-control-test-assets/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control-test-assets/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2-control-test-assets/build_ament_cmake.sh b/recipes/ros-jazzy-ros2-control-test-assets/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control-test-assets/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2-control-test-assets/recipe.yaml b/recipes/ros-jazzy-ros2-control-test-assets/recipe.yaml
new file mode 100644
index 00000000..88d64826
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control-test-assets/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2-control-test-assets
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/ros2_control_test_assets/4.25.0-1
+ target_directory: ros-jazzy-ros2-control-test-assets/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2-control/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2-control/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2-control/build_ament_cmake.sh b/recipes/ros-jazzy-ros2-control/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2-control/recipe.yaml b/recipes/ros-jazzy-ros2-control/recipe.yaml
new file mode 100644
index 00000000..90b3c4d7
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-control/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2-control
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/ros2_control/4.25.0-1
+ target_directory: ros-jazzy-ros2-control/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-joint-limits
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-ros2controlcli
+ - ros-jazzy-transmission-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2-controllers-test-nodes/bld_ament_python.bat b/recipes/ros-jazzy-ros2-controllers-test-nodes/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers-test-nodes/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2-controllers-test-nodes/build_ament_python.sh b/recipes/ros-jazzy-ros2-controllers-test-nodes/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers-test-nodes/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2-controllers-test-nodes/recipe.yaml b/recipes/ros-jazzy-ros2-controllers-test-nodes/recipe.yaml
new file mode 100644
index 00000000..cd674747
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers-test-nodes/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2-controllers-test-nodes
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/ros2_controllers_test_nodes/4.20.0-1
+ target_directory: ros-jazzy-ros2-controllers-test-nodes/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-ros2-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2-controllers/recipe.yaml b/recipes/ros-jazzy-ros2-controllers/recipe.yaml
new file mode 100644
index 00000000..65c6e5db
--- /dev/null
+++ b/recipes/ros-jazzy-ros2-controllers/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/ros2_controllers/4.20.0-1
+ target_directory: ros-jazzy-ros2-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ackermann-steering-controller
+ - ros-jazzy-admittance-controller
+ - ros-jazzy-bicycle-steering-controller
+ - ros-jazzy-diff-drive-controller
+ - ros-jazzy-effort-controllers
+ - ros-jazzy-force-torque-sensor-broadcaster
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-gpio-controllers
+ - ros-jazzy-gripper-controllers
+ - ros-jazzy-imu-sensor-broadcaster
+ - ros-jazzy-joint-state-broadcaster
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-mecanum-drive-controller
+ - ros-jazzy-parallel-gripper-controller
+ - ros-jazzy-pid-controller
+ - ros-jazzy-pose-broadcaster
+ - ros-jazzy-position-controllers
+ - ros-jazzy-range-sensor-broadcaster
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-steering-controllers-library
+ - ros-jazzy-tricycle-controller
+ - ros-jazzy-tricycle-steering-controller
+ - ros-jazzy-velocity-controllers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2action/bld_ament_python.bat b/recipes/ros-jazzy-ros2action/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2action/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2action/build_ament_python.sh b/recipes/ros-jazzy-ros2action/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2action/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2action/recipe.yaml b/recipes/ros-jazzy-ros2action/recipe.yaml
new file mode 100644
index 00000000..2f71227c
--- /dev/null
+++ b/recipes/ros-jazzy-ros2action/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2action
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2action/0.32.2-1
+ target_directory: ros-jazzy-ros2action/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosidl-runtime-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2bag/bld_ament_python.bat b/recipes/ros-jazzy-ros2bag/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2bag/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2bag/build_ament_python.sh b/recipes/ros-jazzy-ros2bag/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2bag/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2bag/recipe.yaml b/recipes/ros-jazzy-ros2bag/recipe.yaml
new file mode 100644
index 00000000..91c3741f
--- /dev/null
+++ b/recipes/ros-jazzy-ros2bag/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2bag
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/ros2bag/0.26.6-1
+ target_directory: ros-jazzy-ros2bag/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-test-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosbag2-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh b/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml b/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml
new file mode 100644
index 00000000..2226ba0a
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2cli-common-extensions
+ version: 0.3.0
+source:
+ git: https://github.com/ros2-gbp/ros2cli_common_extensions-release.git
+ tag: release/jazzy/ros2cli_common_extensions/0.3.0-3
+ target_directory: ros-jazzy-ros2cli-common-extensions/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2action
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2component
+ - ros-jazzy-ros2doctor
+ - ros-jazzy-ros2interface
+ - ros-jazzy-ros2launch
+ - ros-jazzy-ros2lifecycle
+ - ros-jazzy-ros2multicast
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2param
+ - ros-jazzy-ros2pkg
+ - ros-jazzy-ros2run
+ - ros-jazzy-ros2service
+ - ros-jazzy-ros2topic
+ - ros-jazzy-sros2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml b/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml
new file mode 100644
index 00000000..c7c76357
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2cli-test-interfaces
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2cli_test_interfaces/0.32.2-1
+ target_directory: ros-jazzy-ros2cli-test-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2cli/bld_ament_python.bat b/recipes/ros-jazzy-ros2cli/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2cli/build_ament_python.sh b/recipes/ros-jazzy-ros2cli/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2cli/recipe.yaml b/recipes/ros-jazzy-ros2cli/recipe.yaml
new file mode 100644
index 00000000..358d1af9
--- /dev/null
+++ b/recipes/ros-jazzy-ros2cli/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2cli
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2cli/0.32.2-1
+ target_directory: ros-jazzy-ros2cli/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - argcomplete
+ - importlib-metadata
+ - packaging
+ - psutil
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2component/bld_ament_python.bat b/recipes/ros-jazzy-ros2component/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2component/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2component/build_ament_python.sh b/recipes/ros-jazzy-ros2component/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2component/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2component/recipe.yaml b/recipes/ros-jazzy-ros2component/recipe.yaml
new file mode 100644
index 00000000..821b58ec
--- /dev/null
+++ b/recipes/ros-jazzy-ros2component/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2component
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2component/0.32.2-1
+ target_directory: ros-jazzy-ros2component/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2param
+ - ros-jazzy-ros2pkg
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2controlcli/bld_ament_python.bat b/recipes/ros-jazzy-ros2controlcli/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2controlcli/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2controlcli/build_ament_python.sh b/recipes/ros-jazzy-ros2controlcli/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2controlcli/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2controlcli/recipe.yaml b/recipes/ros-jazzy-ros2controlcli/recipe.yaml
new file mode 100644
index 00000000..5cceed24
--- /dev/null
+++ b/recipes/ros-jazzy-ros2controlcli/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2controlcli
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/ros2controlcli/4.25.0-1
+ target_directory: ros-jazzy-ros2controlcli/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-controller-manager
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2param
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pygraphviz
+ - python
+ - ros-jazzy-controller-manager
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2param
+ - ros-jazzy-rosidl-runtime-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat b/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2doctor/build_ament_python.sh b/recipes/ros-jazzy-ros2doctor/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2doctor/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2doctor/recipe.yaml b/recipes/ros-jazzy-ros2doctor/recipe.yaml
new file mode 100644
index 00000000..563e4821
--- /dev/null
+++ b/recipes/ros-jazzy-ros2doctor/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2doctor
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2doctor/0.32.2-1
+ target_directory: ros-jazzy-ros2doctor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - catkin_pkg
+ - importlib-metadata
+ - psutil
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - rosdistro
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2interface/bld_ament_python.bat b/recipes/ros-jazzy-ros2interface/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2interface/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2interface/build_ament_python.sh b/recipes/ros-jazzy-ros2interface/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2interface/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2interface/recipe.yaml b/recipes/ros-jazzy-ros2interface/recipe.yaml
new file mode 100644
index 00000000..66671fcf
--- /dev/null
+++ b/recipes/ros-jazzy-ros2interface/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2interface
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2interface/0.32.2-1
+ target_directory: ros-jazzy-ros2interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli-test-interfaces
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosidl-adapter
+ - ros-jazzy-rosidl-runtime-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2launch/bld_ament_python.bat b/recipes/ros-jazzy-ros2launch/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2launch/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2launch/build_ament_python.sh b/recipes/ros-jazzy-ros2launch/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2launch/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2launch/recipe.yaml b/recipes/ros-jazzy-ros2launch/recipe.yaml
new file mode 100644
index 00000000..186eb836
--- /dev/null
+++ b/recipes/ros-jazzy-ros2launch/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2launch
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/launch_ros-release.git
+ tag: release/jazzy/ros2launch/0.26.6-1
+ target_directory: ros-jazzy-ros2launch/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2pkg
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-xml
+ - ros-jazzy-launch-yaml
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2pkg
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml
new file mode 100644
index 00000000..436f3c2a
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2lifecycle-test-fixtures
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2lifecycle_test_fixtures/0.32.2-1
+ target_directory: ros-jazzy-ros2lifecycle-test-fixtures/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat b/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh b/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2lifecycle/recipe.yaml b/recipes/ros-jazzy-ros2lifecycle/recipe.yaml
new file mode 100644
index 00000000..1ab80e5d
--- /dev/null
+++ b/recipes/ros-jazzy-ros2lifecycle/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2lifecycle
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2lifecycle/0.32.2-1
+ target_directory: ros-jazzy-ros2lifecycle/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2lifecycle-test-fixtures
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2service
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat b/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2multicast/build_ament_python.sh b/recipes/ros-jazzy-ros2multicast/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2multicast/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2multicast/recipe.yaml b/recipes/ros-jazzy-ros2multicast/recipe.yaml
new file mode 100644
index 00000000..44e1cd20
--- /dev/null
+++ b/recipes/ros-jazzy-ros2multicast/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2multicast
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2multicast/0.32.2-1
+ target_directory: ros-jazzy-ros2multicast/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2node/bld_ament_python.bat b/recipes/ros-jazzy-ros2node/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2node/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2node/build_ament_python.sh b/recipes/ros-jazzy-ros2node/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2node/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2node/recipe.yaml b/recipes/ros-jazzy-ros2node/recipe.yaml
new file mode 100644
index 00000000..352099a7
--- /dev/null
+++ b/recipes/ros-jazzy-ros2node/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2node
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2node/0.32.2-1
+ target_directory: ros-jazzy-ros2node/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2param/bld_ament_python.bat b/recipes/ros-jazzy-ros2param/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2param/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2param/build_ament_python.sh b/recipes/ros-jazzy-ros2param/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2param/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2param/recipe.yaml b/recipes/ros-jazzy-ros2param/recipe.yaml
new file mode 100644
index 00000000..d4b08abd
--- /dev/null
+++ b/recipes/ros-jazzy-ros2param/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2param
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2param/0.32.2-1
+ target_directory: ros-jazzy-ros2param/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2service
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat b/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2pkg/build_ament_python.sh b/recipes/ros-jazzy-ros2pkg/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2pkg/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2pkg/recipe.yaml b/recipes/ros-jazzy-ros2pkg/recipe.yaml
new file mode 100644
index 00000000..c1fc2937
--- /dev/null
+++ b/recipes/ros-jazzy-ros2pkg/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2pkg
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2pkg/0.32.2-1
+ target_directory: ros-jazzy-ros2pkg/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - catkin_pkg
+ - empy
+ - importlib_resources
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2run/bld_ament_python.bat b/recipes/ros-jazzy-ros2run/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2run/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2run/build_ament_python.sh b/recipes/ros-jazzy-ros2run/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2run/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2run/recipe.yaml b/recipes/ros-jazzy-ros2run/recipe.yaml
new file mode 100644
index 00000000..f6f3b531
--- /dev/null
+++ b/recipes/ros-jazzy-ros2run/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2run
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2run/0.32.2-1
+ target_directory: ros-jazzy-ros2run/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-ros2pkg
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2service/bld_ament_python.bat b/recipes/ros-jazzy-ros2service/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2service/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2service/build_ament_python.sh b/recipes/ros-jazzy-ros2service/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2service/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2service/recipe.yaml b/recipes/ros-jazzy-ros2service/recipe.yaml
new file mode 100644
index 00000000..67c2c885
--- /dev/null
+++ b/recipes/ros-jazzy-ros2service/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2service
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2service/0.32.2-1
+ target_directory: ros-jazzy-ros2service/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosidl-runtime-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2test/bld_ament_python.bat b/recipes/ros-jazzy-ros2test/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2test/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2test/build_ament_python.sh b/recipes/ros-jazzy-ros2test/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2test/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2test/recipe.yaml b/recipes/ros-jazzy-ros2test/recipe.yaml
new file mode 100644
index 00000000..a936acd2
--- /dev/null
+++ b/recipes/ros-jazzy-ros2test/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2test
+ version: 0.6.0
+source:
+ git: https://github.com/ros2-gbp/ros_testing-release.git
+ tag: release/jazzy/ros2test/0.6.0-3
+ target_directory: ros-jazzy-ros2test/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-domain-coordinator
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ros2topic/bld_ament_python.bat b/recipes/ros-jazzy-ros2topic/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-ros2topic/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ros2topic/build_ament_python.sh b/recipes/ros-jazzy-ros2topic/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-ros2topic/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-ros2topic/recipe.yaml b/recipes/ros-jazzy-ros2topic/recipe.yaml
new file mode 100644
index 00000000..b5ea9fd7
--- /dev/null
+++ b/recipes/ros-jazzy-ros2topic/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ros2topic
+ version: 0.32.2
+source:
+ git: https://github.com/ros2-gbp/ros2cli-release.git
+ tag: release/jazzy/ros2topic/0.32.2-1
+ target_directory: ros-jazzy-ros2topic/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - pytest-timeout
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - numpy
+ - python
+ - pyyaml
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosidl-runtime-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosapi-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosapi-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosapi-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rosapi-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosapi-msgs/recipe.yaml b/recipes/ros-jazzy-rosapi-msgs/recipe.yaml
new file mode 100644
index 00000000..ef47a5a7
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosapi-msgs
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosapi_msgs/2.1.0-1
+ target_directory: ros-jazzy-rosapi-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosapi/bld_ament_cmake.bat b/recipes/ros-jazzy-rosapi/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosapi/build_ament_cmake.sh b/recipes/ros-jazzy-rosapi/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosapi/recipe.yaml b/recipes/ros-jazzy-rosapi/recipe.yaml
new file mode 100644
index 00000000..39fcb228
--- /dev/null
+++ b/recipes/ros-jazzy-rosapi/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosapi
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosapi/2.1.0-1
+ target_directory: ros-jazzy-rosapi/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rmw-dds-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2node
+ - ros-jazzy-ros2param
+ - ros-jazzy-ros2pkg
+ - ros-jazzy-ros2service
+ - ros-jazzy-ros2topic
+ - ros-jazzy-rosapi-msgs
+ - ros-jazzy-rosbridge-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml b/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml
new file mode 100644
index 00000000..2929600a
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-compression-zstd
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_compression_zstd/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-compression-zstd/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-zstd-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-zstd-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-compression/recipe.yaml b/recipes/ros-jazzy-rosbag2-compression/recipe.yaml
new file mode 100644
index 00000000..c6ab0807
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-compression/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-compression
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_compression/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-compression/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-storage
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml b/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml
new file mode 100644
index 00000000..9c20fd39
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml
@@ -0,0 +1,117 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-cpp
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_cpp/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-rosbag2-test-msgdefs
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros-jazzy-std-msgs
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml b/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml
new file mode 100644
index 00000000..97f23927
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-interfaces
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_interfaces/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-py/recipe.yaml b/recipes/ros-jazzy-rosbag2-py/recipe.yaml
new file mode 100644
index 00000000..5ddadd02
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-py/recipe.yaml
@@ -0,0 +1,112 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-py
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_py/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pybind11-vendor
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-compression-zstd
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-rosbag2-test-msgdefs
+ - ros-jazzy-rosbag2-transport
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - pybind11
+ run:
+ - python
+ - ros-jazzy-pybind11-vendor
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-transport
+ - ros-jazzy-rpyutils
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml
new file mode 100644
index 00000000..58cd7d62
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-storage-default-plugins
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_storage_default_plugins/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-storage-default-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage-mcap
+ - ros-jazzy-rosbag2-storage-sqlite3
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml
new file mode 100644
index 00000000..c043ca6e
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-storage-mcap
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_storage_mcap/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-storage-mcap/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-clang-format
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-mcap-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-std-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-mcap-vendor
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml
new file mode 100644
index 00000000..8dfdf81e
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-storage-sqlite3
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_storage_sqlite3/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-storage-sqlite3/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-sqlite3-vendor
+ - ros-jazzy-std-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-sqlite3-vendor
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-storage/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage/recipe.yaml
new file mode 100644
index 00000000..5c97a832
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-storage/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-storage
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_storage/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-storage/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml b/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml
new file mode 100644
index 00000000..1669a0f7
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-test-common
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_test_common/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-test-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml b/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml
new file mode 100644
index 00000000..1427db0f
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-test-msgdefs
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_test_msgdefs/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-test-msgdefs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-tests/recipe.yaml b/recipes/ros-jazzy-rosbag2-tests/recipe.yaml
new file mode 100644
index 00000000..af0a6560
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-tests/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-tests
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_tests/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-tests/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcpputils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2bag
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-compression-zstd
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-interfaces
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-rosbag2-transport
+ - ros-jazzy-std-msgs
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2-transport/recipe.yaml b/recipes/ros-jazzy-rosbag2-transport/recipe.yaml
new file mode 100644
index 00000000..bece1770
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-transport/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2-transport
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2_transport/0.26.6-1
+ target_directory: ros-jazzy-rosbag2-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-composition-interfaces
+ - ros-jazzy-keyboard-handler
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-compression-zstd
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-interfaces
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-test-msgs
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-keyboard-handler
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-interfaces
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbag2/recipe.yaml b/recipes/ros-jazzy-rosbag2/recipe.yaml
new file mode 100644
index 00000000..f3857d3f
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbag2
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/rosbag2/0.26.6-1
+ target_directory: ros-jazzy-rosbag2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-test-common
+ - ros-jazzy-rosbag2-tests
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2bag
+ - ros-jazzy-rosbag2-compression
+ - ros-jazzy-rosbag2-compression-zstd
+ - ros-jazzy-rosbag2-cpp
+ - ros-jazzy-rosbag2-py
+ - ros-jazzy-rosbag2-storage
+ - ros-jazzy-rosbag2-storage-default-plugins
+ - ros-jazzy-rosbag2-transport
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbridge-library/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbridge-library/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-library/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbridge-library/build_ament_cmake.sh b/recipes/ros-jazzy-rosbridge-library/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-library/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbridge-library/recipe.yaml b/recipes/ros-jazzy-rosbridge-library/recipe.yaml
new file mode 100644
index 00000000..d39cdf0e
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-library/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbridge-library
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosbridge_library/2.1.0-1
+ target_directory: ros-jazzy-rosbridge-library/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pillow
+ - pip
+ - pymongo
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-control-msgs
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbridge-test-msgs
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-stereo-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - pillow
+ - pymongo
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbridge-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbridge-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbridge-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rosbridge-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbridge-msgs/recipe.yaml b/recipes/ros-jazzy-rosbridge-msgs/recipe.yaml
new file mode 100644
index 00000000..e6acd234
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-msgs/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbridge-msgs
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosbridge_msgs/2.1.0-1
+ target_directory: ros-jazzy-rosbridge-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbridge-server/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbridge-server/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-server/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbridge-server/build_ament_cmake.sh b/recipes/ros-jazzy-rosbridge-server/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-server/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbridge-server/recipe.yaml b/recipes/ros-jazzy-rosbridge-server/recipe.yaml
new file mode 100644
index 00000000..b9c7cf54
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-server/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbridge-server
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosbridge_server/2.1.0-1
+ target_directory: ros-jazzy-rosbridge-server/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - autobahn
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosapi
+ - ros-jazzy-rosbridge-library
+ - ros-jazzy-rosbridge-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tornado
+ - twisted
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbridge-suite/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbridge-suite/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-suite/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbridge-suite/build_ament_cmake.sh b/recipes/ros-jazzy-rosbridge-suite/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-suite/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbridge-suite/recipe.yaml b/recipes/ros-jazzy-rosbridge-suite/recipe.yaml
new file mode 100644
index 00000000..e4a39f1b
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-suite/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbridge-suite
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosbridge_suite/2.1.0-1
+ target_directory: ros-jazzy-rosbridge-suite/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosapi
+ - ros-jazzy-rosbridge-library
+ - ros-jazzy-rosbridge-server
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosbridge-test-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbridge-test-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-test-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosbridge-test-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rosbridge-test-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-test-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosbridge-test-msgs/recipe.yaml b/recipes/ros-jazzy-rosbridge-test-msgs/recipe.yaml
new file mode 100644
index 00000000..344c7e0e
--- /dev/null
+++ b/recipes/ros-jazzy-rosbridge-test-msgs/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosbridge-test-msgs
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/rosbridge_suite-release.git
+ tag: release/jazzy/rosbridge_test_msgs/2.1.0-1
+ target_directory: ros-jazzy-rosbridge-test-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-example-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-stereo-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml b/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml
new file mode 100644
index 00000000..97e918c6
--- /dev/null
+++ b/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosgraph-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/rosgraph_msgs/2.0.2-2
+ target_directory: ros-jazzy-rosgraph-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-adapter/recipe.yaml b/recipes/ros-jazzy-rosidl-adapter/recipe.yaml
new file mode 100644
index 00000000..c6b02b03
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-adapter/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-adapter
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_adapter/4.6.5-1
+ target_directory: ros-jazzy-rosidl-adapter/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - empy
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh b/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rosidl-cli/recipe.yaml b/recipes/ros-jazzy-rosidl-cli/recipe.yaml
new file mode 100644
index 00000000..587a1eee
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cli/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-cli
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_cli/4.6.5-1
+ target_directory: ros-jazzy-rosidl-cli/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - argcomplete
+ - importlib-metadata
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-cmake/recipe.yaml b/recipes/ros-jazzy-rosidl-cmake/recipe.yaml
new file mode 100644
index 00000000..3c3fc86c
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-cmake/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-cmake
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_cmake/4.6.5-1
+ target_directory: ros-jazzy-rosidl-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - empy
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - empy
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-pycommon
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml b/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml
new file mode 100644
index 00000000..a82528ab
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml
@@ -0,0 +1,110 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-core-generators
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_core-release.git
+ tag: release/jazzy/rosidl_core_generators/0.2.0-3
+ target_directory: ros-jazzy-rosidl-core-generators/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-generator-py
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-generator-py
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml b/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml
new file mode 100644
index 00000000..26ff2c3c
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml
@@ -0,0 +1,104 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-core-runtime
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_core-release.git
+ tag: release/jazzy/rosidl_core_runtime/0.2.0-3
+ target_directory: ros-jazzy-rosidl-core-runtime/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-generator-py
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-generator-py
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml b/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml
new file mode 100644
index 00000000..1cbc8015
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-default-generators
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_defaults-release.git
+ tag: release/jazzy/rosidl_default_generators/1.6.0-3
+ target_directory: ros-jazzy-rosidl-default-generators/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros-jazzy-service-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros-jazzy-service-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml b/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml
new file mode 100644
index 00000000..062870d9
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-default-runtime
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_defaults-release.git
+ tag: release/jazzy/rosidl_default_runtime/1.6.0-3
+ target_directory: ros-jazzy-rosidl-default-runtime/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros-jazzy-service-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml
new file mode 100644
index 00000000..7116f6f9
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-dynamic-typesupport-fastrtps
+ version: 0.1.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_dynamic_typesupport_fastrtps-release.git
+ tag: release/jazzy/rosidl_dynamic_typesupport_fastrtps/0.1.0-3
+ target_directory: ros-jazzy-rosidl-dynamic-typesupport-fastrtps/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-dynamic-typesupport
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml b/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml
new file mode 100644
index 00000000..e4dab09a
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-dynamic-typesupport
+ version: 0.1.2
+source:
+ git: https://github.com/ros2-gbp/rosidl_dynamic_typesupport-release.git
+ tag: release/jazzy/rosidl_dynamic_typesupport/0.1.2-3
+ target_directory: ros-jazzy-rosidl-dynamic-typesupport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml
new file mode 100644
index 00000000..82539d39
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-generator-c
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_generator_c/4.6.5-1
+ target_directory: ros-jazzy-rosidl-generator-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml
new file mode 100644
index 00000000..cd12bfff
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-generator-cpp
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_generator_cpp/4.6.5-1
+ target_directory: ros-jazzy-rosidl-generator-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml
new file mode 100644
index 00000000..b4cbbc21
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml
@@ -0,0 +1,121 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-generator-py
+ version: 0.22.0
+source:
+ git: https://github.com/ros2-gbp/rosidl_python-release.git
+ tag: release/jazzy/rosidl_generator_py/0.22.0-2
+ target_directory: ros-jazzy-rosidl-generator-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros-jazzy-rpyutils
+ - ros-jazzy-test-interface-files
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - numpy
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-flake8
+ - ros-jazzy-ament-cmake-pep257
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros-jazzy-rpyutils
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml
new file mode 100644
index 00000000..31cf65a1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-generator-type-description
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_generator_type_description/4.6.5-1
+ target_directory: ros-jazzy-rosidl-generator-type-description/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-parser
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-parser/recipe.yaml b/recipes/ros-jazzy-rosidl-parser/recipe.yaml
new file mode 100644
index 00000000..b5115a9e
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-parser/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-parser
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_parser/4.6.5-1
+ target_directory: ros-jazzy-rosidl-parser/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - lark-parser
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-adapter
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh b/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml b/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml
new file mode 100644
index 00000000..e142b062
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-pycommon
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_pycommon/4.6.5-1
+ target_directory: ros-jazzy-rosidl-pycommon/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-parser
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml
new file mode 100644
index 00000000..3ed0d3bf
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-runtime-c
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_runtime_c/4.6.5-1
+ target_directory: ros-jazzy-rosidl-runtime-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml
new file mode 100644
index 00000000..524d8b9d
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-runtime-cpp
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_runtime_cpp/4.6.5-1
+ target_directory: ros-jazzy-rosidl-runtime-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh b/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml
new file mode 100644
index 00000000..68240f6a
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-runtime-py
+ version: 0.13.1
+source:
+ git: https://github.com/ros2-gbp/rosidl_runtime_py-release.git
+ tag: release/jazzy/rosidl_runtime_py/0.13.1-2
+ target_directory: ros-jazzy-rosidl-runtime-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - numpy
+ - python
+ - pyyaml
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-parser
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml
new file mode 100644
index 00000000..e04cbe9a
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml
@@ -0,0 +1,105 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-c
+ version: 3.2.2
+source:
+ git: https://github.com/ros2-gbp/rosidl_typesupport-release.git
+ tag: release/jazzy/rosidl_typesupport_c/3.2.2-1
+ target_directory: ros-jazzy-rosidl-typesupport-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-mimick-vendor
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-c
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml
new file mode 100644
index 00000000..285444d3
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-cpp
+ version: 3.2.2
+source:
+ git: https://github.com/ros2-gbp/rosidl_typesupport-release.git
+ tag: release/jazzy/rosidl_typesupport_cpp/3.2.2-1
+ target_directory: ros-jazzy-rosidl-typesupport-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rcpputils
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-type-description
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-c
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros-jazzy-rosidl-typesupport-introspection-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml
new file mode 100644
index 00000000..6ce01e13
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-fastrtps-c
+ version: 3.6.1
+source:
+ git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git
+ tag: release/jazzy/rosidl_typesupport_fastrtps_c/3.6.1-1
+ target_directory: ros-jazzy-rosidl-typesupport-fastrtps-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml
new file mode 100644
index 00000000..a5c4d9e2
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-fastrtps-cpp
+ version: 3.6.1
+source:
+ git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git
+ tag: release/jazzy/rosidl_typesupport_fastrtps_cpp/3.6.1-1
+ target_directory: ros-jazzy-rosidl-typesupport-fastrtps-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-osrf-testing-tools-cpp
+ - ros-jazzy-performance-test-fixture
+ - ros-jazzy-rcutils
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-fastcdr
+ - ros-jazzy-fastrtps-cmake-module
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml
new file mode 100644
index 00000000..5deb5b7b
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-interface
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_typesupport_interface/4.6.5-1
+ target_directory: ros-jazzy-rosidl-typesupport-interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml
new file mode 100644
index 00000000..6208686f
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-introspection-c
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_typesupport_introspection_c/4.6.5-1
+ target_directory: ros-jazzy-rosidl-typesupport-introspection-c/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml
new file mode 100644
index 00000000..04ce0204
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rosidl-typesupport-introspection-cpp
+ version: 4.6.5
+source:
+ git: https://github.com/ros2-gbp/rosidl-release.git
+ tag: release/jazzy/rosidl_typesupport_introspection_cpp/4.6.5-1
+ target_directory: ros-jazzy-rosidl-typesupport-introspection-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cli
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-generator-c
+ - ros-jazzy-rosidl-generator-cpp
+ - ros-jazzy-rosidl-parser
+ - ros-jazzy-rosidl-pycommon
+ - ros-jazzy-rosidl-runtime-c
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros-jazzy-rosidl-typesupport-interface
+ - ros-jazzy-rosidl-typesupport-introspection-c
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rpyutils/bld_ament_python.bat b/recipes/ros-jazzy-rpyutils/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rpyutils/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rpyutils/build_ament_python.sh b/recipes/ros-jazzy-rpyutils/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rpyutils/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rpyutils/recipe.yaml b/recipes/ros-jazzy-rpyutils/recipe.yaml
new file mode 100644
index 00000000..c097e3c9
--- /dev/null
+++ b/recipes/ros-jazzy-rpyutils/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rpyutils
+ version: 0.4.1
+source:
+ git: https://github.com/ros2-gbp/rpyutils-release.git
+ tag: release/jazzy/rpyutils/0.4.1-3
+ target_directory: ros-jazzy-rpyutils/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-action/bld_ament_python.bat b/recipes/ros-jazzy-rqt-action/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-action/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-action/build_ament_python.sh b/recipes/ros-jazzy-rqt-action/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-action/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-action/recipe.yaml b/recipes/ros-jazzy-rqt-action/recipe.yaml
new file mode 100644
index 00000000..3baa6b67
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-action/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-action
+ version: 2.2.0
+source:
+ git: https://github.com/ros2-gbp/rqt_action-release.git
+ tag: release/jazzy/rqt_action/2.2.0-3
+ target_directory: ros-jazzy-rqt-action/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-msg
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-bag-plugins/bld_ament_python.bat b/recipes/ros-jazzy-rqt-bag-plugins/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag-plugins/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-bag-plugins/build_ament_python.sh b/recipes/ros-jazzy-rqt-bag-plugins/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag-plugins/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-bag-plugins/recipe.yaml b/recipes/ros-jazzy-rqt-bag-plugins/recipe.yaml
new file mode 100644
index 00000000..0f37b49e
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag-plugins/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-bag-plugins
+ version: 1.5.4
+source:
+ git: https://github.com/ros2-gbp/rqt_bag-release.git
+ tag: release/jazzy/rqt_bag_plugins/1.5.4-1
+ target_directory: ros-jazzy-rqt-bag-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - pillow
+ - pycairo
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2
+ - ros-jazzy-rqt-bag
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-plot
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-bag/bld_ament_python.bat b/recipes/ros-jazzy-rqt-bag/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-bag/build_ament_python.sh b/recipes/ros-jazzy-rqt-bag/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-bag/recipe.yaml b/recipes/ros-jazzy-rqt-bag/recipe.yaml
new file mode 100644
index 00000000..ff355f17
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-bag/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-bag
+ version: 1.5.4
+source:
+ git: https://github.com/ros2-gbp/rqt_bag-release.git
+ tag: release/jazzy/rqt_bag/1.5.4-1
+ target_directory: ros-jazzy-rqt-bag/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosbag2-py
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-common-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-rqt-common-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-common-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-common-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-rqt-common-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-common-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rqt-common-plugins/recipe.yaml b/recipes/ros-jazzy-rqt-common-plugins/recipe.yaml
new file mode 100644
index 00000000..de72e3b2
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-common-plugins/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-common-plugins
+ version: 1.2.0
+source:
+ git: https://github.com/ros2-gbp/rqt_common_plugins-release.git
+ tag: release/jazzy/rqt_common_plugins/1.2.0-4
+ target_directory: ros-jazzy-rqt-common-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-action
+ - ros-jazzy-rqt-bag
+ - ros-jazzy-rqt-bag-plugins
+ - ros-jazzy-rqt-console
+ - ros-jazzy-rqt-graph
+ - ros-jazzy-rqt-image-view
+ - ros-jazzy-rqt-msg
+ - ros-jazzy-rqt-plot
+ - ros-jazzy-rqt-publisher
+ - ros-jazzy-rqt-py-common
+ - ros-jazzy-rqt-py-console
+ - ros-jazzy-rqt-reconfigure
+ - ros-jazzy-rqt-service-caller
+ - ros-jazzy-rqt-shell
+ - ros-jazzy-rqt-srv
+ - ros-jazzy-rqt-topic
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-console/bld_ament_python.bat b/recipes/ros-jazzy-rqt-console/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-console/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-console/build_ament_python.sh b/recipes/ros-jazzy-rqt-console/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-console/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-console/recipe.yaml b/recipes/ros-jazzy-rqt-console/recipe.yaml
new file mode 100644
index 00000000..26509d60
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-console/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-console
+ version: 2.2.1
+source:
+ git: https://github.com/ros2-gbp/rqt_console-release.git
+ tag: release/jazzy/rqt_console/2.2.1-3
+ target_directory: ros-jazzy-rqt-console/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-graph/bld_ament_python.bat b/recipes/ros-jazzy-rqt-graph/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-graph/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-graph/build_ament_python.sh b/recipes/ros-jazzy-rqt-graph/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-graph/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-graph/recipe.yaml b/recipes/ros-jazzy-rqt-graph/recipe.yaml
new file mode 100644
index 00000000..d44e98e4
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-graph/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-graph
+ version: 1.5.4
+source:
+ git: https://github.com/ros2-gbp/rqt_graph-release.git
+ tag: release/jazzy/rqt_graph/1.5.4-1
+ target_directory: ros-jazzy-rqt-graph/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-dotgraph
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-gui-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rqt-gui-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-gui-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rqt-gui-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rqt-gui-cpp/recipe.yaml b/recipes/ros-jazzy-rqt-gui-cpp/recipe.yaml
new file mode 100644
index 00000000..7f74f5aa
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-cpp/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-gui-cpp
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rqt-release.git
+ tag: release/jazzy/rqt_gui_cpp/1.6.0-2
+ target_directory: ros-jazzy-rqt-gui-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-pluginlib
+ - ros-jazzy-qt-gui-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-qt-gui-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rqt-gui-py/bld_ament_python.bat b/recipes/ros-jazzy-rqt-gui-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-gui-py/build_ament_python.sh b/recipes/ros-jazzy-rqt-gui-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-gui-py/recipe.yaml b/recipes/ros-jazzy-rqt-gui-py/recipe.yaml
new file mode 100644
index 00000000..f672e2bd
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui-py/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-gui-py
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rqt-release.git
+ tag: release/jazzy/rqt_gui_py/1.6.0-2
+ target_directory: ros-jazzy-rqt-gui-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-qt-gui
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-qt-gui
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-gui/bld_ament_python.bat b/recipes/ros-jazzy-rqt-gui/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-gui/build_ament_python.sh b/recipes/ros-jazzy-rqt-gui/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-gui/recipe.yaml b/recipes/ros-jazzy-rqt-gui/recipe.yaml
new file mode 100644
index 00000000..8f5f1d70
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-gui/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-gui
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rqt-release.git
+ tag: release/jazzy/rqt_gui/1.6.0-2
+ target_directory: ros-jazzy-rqt-gui/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-qt-gui
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - catkin_pkg
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-image-view/bld_ament_cmake.bat b/recipes/ros-jazzy-rqt-image-view/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-image-view/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-image-view/build_ament_cmake.sh b/recipes/ros-jazzy-rqt-image-view/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-image-view/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rqt-image-view/recipe.yaml b/recipes/ros-jazzy-rqt-image-view/recipe.yaml
new file mode 100644
index 00000000..711ce32b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-image-view/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-image-view
+ version: 1.3.0
+source:
+ git: https://github.com/ros2-gbp/rqt_image_view-release.git
+ tag: release/jazzy/rqt_image_view/1.3.0-2
+ target_directory: ros-jazzy-rqt-image-view/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-qt-gui-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-cpp
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-image-transport
+ - ros-jazzy-qt-gui-cpp
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-cpp
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rqt-msg/bld_ament_python.bat b/recipes/ros-jazzy-rqt-msg/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-msg/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-msg/build_ament_python.sh b/recipes/ros-jazzy-rqt-msg/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-msg/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-msg/recipe.yaml b/recipes/ros-jazzy-rqt-msg/recipe.yaml
new file mode 100644
index 00000000..705c5028
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-msg/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-msg
+ version: 1.5.1
+source:
+ git: https://github.com/ros2-gbp/rqt_msg-release.git
+ tag: release/jazzy/rqt_msg/1.5.1-3
+ target_directory: ros-jazzy-rqt-msg/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-rqt-console
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-plot/bld_ament_python.bat b/recipes/ros-jazzy-rqt-plot/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-plot/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-plot/build_ament_python.sh b/recipes/ros-jazzy-rqt-plot/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-plot/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-plot/recipe.yaml b/recipes/ros-jazzy-rqt-plot/recipe.yaml
new file mode 100644
index 00000000..82538eff
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-plot/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-plot
+ version: 1.4.0
+source:
+ git: https://github.com/ros2-gbp/rqt_plot-release.git
+ tag: release/jazzy/rqt_plot/1.4.0-2
+ target_directory: ros-jazzy-rqt-plot/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - catkin_pkg
+ - matplotlib-base
+ - numpy
+ - python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui-py-common
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-publisher/bld_ament_python.bat b/recipes/ros-jazzy-rqt-publisher/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-publisher/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-publisher/build_ament_python.sh b/recipes/ros-jazzy-rqt-publisher/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-publisher/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-publisher/recipe.yaml b/recipes/ros-jazzy-rqt-publisher/recipe.yaml
new file mode 100644
index 00000000..a69e8b0e
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-publisher/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-publisher
+ version: 1.7.2
+source:
+ git: https://github.com/ros2-gbp/rqt_publisher-release.git
+ tag: release/jazzy/rqt_publisher/1.7.2-2
+ target_directory: ros-jazzy-rqt-publisher/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - numpy
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui-py-common
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-py-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rqt-py-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-py-common/build_ament_cmake.sh b/recipes/ros-jazzy-rqt-py-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rqt-py-common/recipe.yaml b/recipes/ros-jazzy-rqt-py-common/recipe.yaml
new file mode 100644
index 00000000..d796e978
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-common/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-py-common
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/rqt-release.git
+ tag: release/jazzy/rqt_py_common/1.6.0-2
+ target_directory: ros-jazzy-rqt-py-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rqt-py-console/bld_ament_python.bat b/recipes/ros-jazzy-rqt-py-console/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-console/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-py-console/build_ament_python.sh b/recipes/ros-jazzy-rqt-py-console/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-console/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-py-console/recipe.yaml b/recipes/ros-jazzy-rqt-py-console/recipe.yaml
new file mode 100644
index 00000000..0306cd3b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-py-console/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-py-console
+ version: 1.2.2
+source:
+ git: https://github.com/ros2-gbp/rqt_py_console-release.git
+ tag: release/jazzy/rqt_py_console/1.2.2-3
+ target_directory: ros-jazzy-rqt-py-console/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui
+ - ros-jazzy-qt-gui-py-common
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-reconfigure/bld_ament_python.bat b/recipes/ros-jazzy-rqt-reconfigure/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-reconfigure/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-reconfigure/build_ament_python.sh b/recipes/ros-jazzy-rqt-reconfigure/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-reconfigure/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-reconfigure/recipe.yaml b/recipes/ros-jazzy-rqt-reconfigure/recipe.yaml
new file mode 100644
index 00000000..61f55514
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-reconfigure/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-reconfigure
+ version: 1.6.2
+source:
+ git: https://github.com/ros2-gbp/rqt_reconfigure-release.git
+ tag: release/jazzy/rqt_reconfigure/1.6.2-3
+ target_directory: ros-jazzy-rqt-reconfigure/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui-py-common
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-console
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-service-caller/bld_ament_python.bat b/recipes/ros-jazzy-rqt-service-caller/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-service-caller/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-service-caller/build_ament_python.sh b/recipes/ros-jazzy-rqt-service-caller/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-service-caller/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-service-caller/recipe.yaml b/recipes/ros-jazzy-rqt-service-caller/recipe.yaml
new file mode 100644
index 00000000..29370b42
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-service-caller/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-service-caller
+ version: 1.2.1
+source:
+ git: https://github.com/ros2-gbp/rqt_service_caller-release.git
+ tag: release/jazzy/rqt_service_caller/1.2.1-3
+ target_directory: ros-jazzy-rqt-service-caller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-shell/bld_ament_python.bat b/recipes/ros-jazzy-rqt-shell/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-shell/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-shell/build_ament_python.sh b/recipes/ros-jazzy-rqt-shell/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-shell/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-shell/recipe.yaml b/recipes/ros-jazzy-rqt-shell/recipe.yaml
new file mode 100644
index 00000000..972ae5b4
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-shell/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-shell
+ version: 1.2.2
+source:
+ git: https://github.com/ros2-gbp/rqt_shell-release.git
+ tag: release/jazzy/rqt_shell/1.2.2-2
+ target_directory: ros-jazzy-rqt-shell/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - catkin_pkg
+ - python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-qt-gui
+ - ros-jazzy-qt-gui-py-common
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-srv/bld_ament_python.bat b/recipes/ros-jazzy-rqt-srv/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-srv/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-srv/build_ament_python.sh b/recipes/ros-jazzy-rqt-srv/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-srv/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-srv/recipe.yaml b/recipes/ros-jazzy-rqt-srv/recipe.yaml
new file mode 100644
index 00000000..f273aa35
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-srv/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-srv
+ version: 1.2.2
+source:
+ git: https://github.com/ros2-gbp/rqt_srv-release.git
+ tag: release/jazzy/rqt_srv/1.2.2-3
+ target_directory: ros-jazzy-rqt-srv/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-msg
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rqt-topic/bld_ament_python.bat b/recipes/ros-jazzy-rqt-topic/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-topic/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rqt-topic/build_ament_python.sh b/recipes/ros-jazzy-rqt-topic/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-topic/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-rqt-topic/recipe.yaml b/recipes/ros-jazzy-rqt-topic/recipe.yaml
new file mode 100644
index 00000000..ca8afc01
--- /dev/null
+++ b/recipes/ros-jazzy-rqt-topic/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rqt-topic
+ version: 1.7.3
+source:
+ git: https://github.com/ros2-gbp/rqt_topic-release.git
+ tag: release/jazzy/rqt_topic/1.7.3-1
+ target_directory: ros-jazzy-rqt-topic/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-xmllint
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-python-qt-binding
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2topic
+ - ros-jazzy-rqt-gui
+ - ros-jazzy-rqt-gui-py
+ - ros-jazzy-rqt-py-common
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rsl/bld_catkin.bat b/recipes/ros-jazzy-rsl/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-rsl/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-rsl/build_catkin.sh b/recipes/ros-jazzy-rsl/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-rsl/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-rsl/patch/ros-jazzy-rsl.patch b/recipes/ros-jazzy-rsl/patch/ros-jazzy-rsl.patch
new file mode 100644
index 00000000..e3560f29
--- /dev/null
+++ b/recipes/ros-jazzy-rsl/patch/ros-jazzy-rsl.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6d47b08..c7b66df 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,7 +10,7 @@ find_package(tcb_span REQUIRED)
+ find_package(tl_expected REQUIRED)
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
+- add_compile_options(-Werror -Wall -Wextra -Wpedantic -Wshadow -Wconversion -Wsign-conversion -Wold-style-cast)
++ add_compile_options(-Wall -Wextra -Wpedantic -Wshadow -Wconversion -Wsign-conversion -Wold-style-cast)
+ endif()
+
+ option(BUILD_SHARED_LIBS "Build shared libraries" ON)
diff --git a/recipes/ros-jazzy-rsl/recipe.yaml b/recipes/ros-jazzy-rsl/recipe.yaml
new file mode 100644
index 00000000..6cc0e343
--- /dev/null
+++ b/recipes/ros-jazzy-rsl/recipe.yaml
@@ -0,0 +1,109 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rsl
+ version: 1.1.0
+source:
+ git: https://github.com/ros2-gbp/RSL-release.git
+ tag: release/jazzy/rsl/1.1.0-3
+ target_directory: ros-jazzy-rsl/src/work
+ patches:
+ - patch/ros-jazzy-rsl.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - git
+ - if: build_platform != target_platform
+ then:
+ - doxygen
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - clang-tools
+ - eigen
+ - fmt
+ - graphviz
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: build_platform == target_platform
+ then:
+ - git
+ - if: build_platform == target_platform
+ then:
+ - doxygen
+ run:
+ - eigen
+ - fmt
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tcb-span
+ - ros-jazzy-tl-expected
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rtcm-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rtcm-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rtcm-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rtcm-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rtcm-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rtcm-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rtcm-msgs/recipe.yaml b/recipes/ros-jazzy-rtcm-msgs/recipe.yaml
new file mode 100644
index 00000000..f39c8464
--- /dev/null
+++ b/recipes/ros-jazzy-rtcm-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rtcm-msgs
+ version: 1.1.6
+source:
+ git: https://github.com/ros2-gbp/rtcm_msgs-release.git
+ tag: release/jazzy/rtcm_msgs/1.1.6-4
+ target_directory: ros-jazzy-rtcm-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml b/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml
new file mode 100644
index 00000000..95e2025e
--- /dev/null
+++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rti-connext-dds-cmake-module
+ version: 0.22.0
+source:
+ git: https://github.com/ros2-gbp/rmw_connextdds-release.git
+ tag: release/jazzy/rti_connext_dds_cmake_module/0.22.0-2
+ target_directory: ros-jazzy-rti-connext-dds-cmake-module/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rttest/bld_ament_cmake.bat b/recipes/ros-jazzy-rttest/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rttest/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rttest/build_ament_cmake.sh b/recipes/ros-jazzy-rttest/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rttest/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rttest/recipe.yaml b/recipes/ros-jazzy-rttest/recipe.yaml
new file mode 100644
index 00000000..42f36e28
--- /dev/null
+++ b/recipes/ros-jazzy-rttest/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rttest
+ version: 0.17.0
+source:
+ git: https://github.com/ros2-gbp/realtime_support-release.git
+ tag: release/jazzy/rttest/0.17.0-3
+ target_directory: ros-jazzy-rttest/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ruckig/bld_catkin.bat b/recipes/ros-jazzy-ruckig/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-ruckig/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-ruckig/build_catkin.sh b/recipes/ros-jazzy-ruckig/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-ruckig/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-ruckig/recipe.yaml b/recipes/ros-jazzy-ruckig/recipe.yaml
new file mode 100644
index 00000000..60d3c8a4
--- /dev/null
+++ b/recipes/ros-jazzy-ruckig/recipe.yaml
@@ -0,0 +1,83 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ruckig
+ version: 0.9.2
+source:
+ git: https://github.com/ros2-gbp/ruckig-release.git
+ tag: release/jazzy/ruckig/0.9.2-5
+ target_directory: ros-jazzy-ruckig/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rviz-assimp-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-assimp-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-assimp-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-assimp-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-assimp-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-assimp-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-assimp-vendor/recipe.yaml b/recipes/ros-jazzy-rviz-assimp-vendor/recipe.yaml
new file mode 100644
index 00000000..4d3ef3e3
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-assimp-vendor/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-assimp-vendor
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_assimp_vendor/14.1.7-1
+ target_directory: ros-jazzy-rviz-assimp-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - assimp
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-rviz-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-common/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-common/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-common/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-common/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-common/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-common/recipe.yaml b/recipes/ros-jazzy-rviz-common/recipe.yaml
new file mode 100644
index 00000000..05cf1f04
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-common/recipe.yaml
@@ -0,0 +1,139 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-common
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_common/14.1.7-1
+ target_directory: ros-jazzy-rviz-common/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-yaml-cpp-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-default-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-default-plugins/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-default-plugins/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-default-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-default-plugins/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-default-plugins/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-default-plugins/recipe.yaml b/recipes/ros-jazzy-rviz-default-plugins/recipe.yaml
new file mode 100644
index 00000000..793ca361
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-default-plugins/recipe.yaml
@@ -0,0 +1,150 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-default-plugins
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_default_plugins/14.1.7-1
+ target_directory: ros-jazzy-rviz-default-plugins/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-image-transport
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-map-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-point-cloud-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-rviz-rendering-tests
+ - ros-jazzy-rviz-visual-testing-framework
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-image-transport
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-laser-geometry
+ - ros-jazzy-map-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-point-cloud-transport
+ - ros-jazzy-rclcpp
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-urdf
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-ogre-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-ogre-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-ogre-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-ogre-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-ogre-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-ogre-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-ogre-vendor/patch/ros-jazzy-rviz-ogre-vendor.patch b/recipes/ros-jazzy-rviz-ogre-vendor/patch/ros-jazzy-rviz-ogre-vendor.patch
new file mode 100644
index 00000000..fce0b1dc
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-ogre-vendor/patch/ros-jazzy-rviz-ogre-vendor.patch
@@ -0,0 +1,65 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8d23a299a..f58c62831 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -76,7 +76,11 @@ endif()
+
+ if(APPLE)
+ list(APPEND OGRE_CMAKE_ARGS -DOGRE_ENABLE_PRECOMPILED_HEADERS:BOOL=OFF)
+- list(APPEND OGRE_CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64)
++ if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
++ list(APPEND OGRE_CMAKE_ARGS "-DCMAKE_OSX_ARCHITECTURES='arm64'")
++ else()
++ list(APPEND OGRE_CMAKE_ARGS "-DCMAKE_OSX_ARCHITECTURES='x86_64'")
++ endif()
+ endif()
+
+ ament_vendor(ogre_vendor
+diff --git a/patches/0005-fix-macos-arm64.patch b/patches/0005-fix-macos-arm64.patch
+new file mode 100644
+index 000000000..9494cc9ae
+--- /dev/null
++++ b/patches/0005-fix-macos-arm64.patch
+@@ -0,0 +1,19 @@
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index f4d8fd4..ffae9c8 100644
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -270,14 +270,6 @@ elseif(EMSCRIPTEN)
++ set(OGRE_CONFIG_THREADS "0" CACHE STRING "Threading is unstable on Emscripten" FORCE)
++ elseif (APPLE AND NOT APPLE_IOS)
++
++- set(XCODE_ATTRIBUTE_SDKROOT macosx)
++- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
++- execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT)
++- string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}")
++- else()
++- set(CMAKE_OSX_SYSROOT macosx)
++- endif()
++-
++ # Make sure that the OpenGL render system is selected for non-iOS Apple builds
++ set(OGRE_BUILD_RENDERSYSTEM_GLES2 FALSE)
++ endif ()
+diff --git a/patches/0006-fix-char16.patch b/patches/0006-fix-char16.patch
+new file mode 100644
+index 000000000..dfc080bb9
+--- /dev/null
++++ b/patches/0006-fix-char16.patch
+@@ -0,0 +1,17 @@
++diff --git a/Components/Overlay/include/OgreUTFString.h b/Components/Overlay/include/OgreUTFString.h
++index 4b29f9d..bb55630 100644
++--- a/Components/Overlay/include/OgreUTFString.h
+++++ b/Components/Overlay/include/OgreUTFString.h
++@@ -183,10 +183,10 @@ namespace Ogre {
++ static const size_type npos = static_cast(~0);
++
++ //! a single 32-bit Unicode character
++- typedef uint32 unicode_char;
+++ typedef char32_t unicode_char;
++
++ //! a single UTF-16 code point
++- typedef uint16 code_point;
+++ typedef char16_t code_point;
++
++ //! value type typedef for use in iterators
++ typedef code_point value_type;
diff --git a/recipes/ros-jazzy-rviz-ogre-vendor/recipe.yaml b/recipes/ros-jazzy-rviz-ogre-vendor/recipe.yaml
new file mode 100644
index 00000000..488a8f88
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-ogre-vendor/recipe.yaml
@@ -0,0 +1,119 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-ogre-vendor
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_ogre_vendor/14.1.7-1
+ target_directory: ros-jazzy-rviz-ogre-vendor/src/work
+ patches:
+ - patch/ros-jazzy-rviz-ogre-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - vcstool
+ host:
+ - ${{ 'libglu' if linux }}
+ - assimp
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - freeimage
+ - freetype
+ - numpy
+ - pip
+ - pugixml
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - xorg-libx11
+ - xorg-libxaw
+ - xorg-libxrandr
+ - xorg-xorgproto
+ - zlib
+ - zziplib
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - assimp
+ - freetype
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - xorg-libx11
+ - xorg-libxaw
+ - xorg-libxrandr
+ - xorg-xorgproto
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-rendering-tests/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-rendering-tests/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering-tests/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-rendering-tests/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-rendering-tests/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering-tests/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-rendering-tests/recipe.yaml b/recipes/ros-jazzy-rviz-rendering-tests/recipe.yaml
new file mode 100644
index 00000000..fd1055b3
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering-tests/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-rendering-tests
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_rendering_tests/14.1.7-1
+ target_directory: ros-jazzy-rviz-rendering-tests/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-rendering
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-rendering
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-rendering/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-rendering/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-rendering/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-rendering/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-rendering/recipe.yaml b/recipes/ros-jazzy-rviz-rendering/recipe.yaml
new file mode 100644
index 00000000..db0b6a69
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-rendering/recipe.yaml
@@ -0,0 +1,122 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-rendering
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_rendering/14.1.7-1
+ target_directory: ros-jazzy-rviz-rendering/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - glew
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-assimp-vendor
+ - ros-jazzy-rviz-ogre-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - eigen
+ - python
+ - qt-main
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-resource-retriever
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-assimp-vendor
+ - ros-jazzy-rviz-ogre-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-visual-testing-framework/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-visual-testing-framework/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-testing-framework/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-visual-testing-framework/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-visual-testing-framework/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-testing-framework/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-visual-testing-framework/recipe.yaml b/recipes/ros-jazzy-rviz-visual-testing-framework/recipe.yaml
new file mode 100644
index 00000000..828dbd0f
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-testing-framework/recipe.yaml
@@ -0,0 +1,127 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-visual-testing-framework
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz_visual_testing_framework/14.1.7-1
+ target_directory: ros-jazzy-rviz-visual-testing-framework/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz-visual-tools/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz-visual-tools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-tools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz-visual-tools/build_ament_cmake.sh b/recipes/ros-jazzy-rviz-visual-tools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-tools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz-visual-tools/recipe.yaml b/recipes/ros-jazzy-rviz-visual-tools/recipe.yaml
new file mode 100644
index 00000000..0bcb6fbe
--- /dev/null
+++ b/recipes/ros-jazzy-rviz-visual-tools/recipe.yaml
@@ -0,0 +1,148 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz-visual-tools
+ version: 4.1.4
+source:
+ git: https://github.com/ros2-gbp/rviz_visual_tools-release.git
+ tag: release/jazzy/rviz_visual_tools/4.1.4-4
+ target_directory: ros-jazzy-rviz-visual-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - eigen
+ - python
+ - qt-main
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-eigen-stl-containers
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-rviz2
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-shape-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-eigen
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-rviz2/bld_ament_cmake.bat b/recipes/ros-jazzy-rviz2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-rviz2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-rviz2/build_ament_cmake.sh b/recipes/ros-jazzy-rviz2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-rviz2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-rviz2/recipe.yaml b/recipes/ros-jazzy-rviz2/recipe.yaml
new file mode 100644
index 00000000..1d30c9b5
--- /dev/null
+++ b/recipes/ros-jazzy-rviz2/recipe.yaml
@@ -0,0 +1,116 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-rviz2
+ version: 14.1.7
+source:
+ git: https://github.com/ros2-gbp/rviz-release.git
+ tag: release/jazzy/rviz2/14.1.7-1
+ target_directory: ros-jazzy-rviz2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - pyyaml
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-sbg-driver/bld_ament_cmake.bat b/recipes/ros-jazzy-sbg-driver/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sbg-driver/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sbg-driver/build_ament_cmake.sh b/recipes/ros-jazzy-sbg-driver/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sbg-driver/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sbg-driver/recipe.yaml b/recipes/ros-jazzy-sbg-driver/recipe.yaml
new file mode 100644
index 00000000..7fe3b208
--- /dev/null
+++ b/recipes/ros-jazzy-sbg-driver/recipe.yaml
@@ -0,0 +1,108 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sbg-driver
+ version: 3.2.0
+source:
+ git: https://github.com/SBG-Systems/sbg_ros2-release.git
+ tag: release/jazzy/sbg_driver/3.2.0-1
+ target_directory: ros-jazzy-sbg-driver/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nmea-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rtcm-msgs
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-nmea-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-rtcm-msgs
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sdformat-test-files/bld_catkin.bat b/recipes/ros-jazzy-sdformat-test-files/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-test-files/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-sdformat-test-files/build_catkin.sh b/recipes/ros-jazzy-sdformat-test-files/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-test-files/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-sdformat-test-files/recipe.yaml b/recipes/ros-jazzy-sdformat-test-files/recipe.yaml
new file mode 100644
index 00000000..e09abd6f
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-test-files/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sdformat-test-files
+ version: 1.0.2
+source:
+ git: https://github.com/ros2-gbp/sdformat_urdf-release.git
+ tag: release/jazzy/sdformat_test_files/1.0.2-1
+ target_directory: ros-jazzy-sdformat-test-files/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - cmake
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sdformat-urdf/bld_ament_cmake.bat b/recipes/ros-jazzy-sdformat-urdf/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-urdf/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sdformat-urdf/build_ament_cmake.sh b/recipes/ros-jazzy-sdformat-urdf/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-urdf/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sdformat-urdf/recipe.yaml b/recipes/ros-jazzy-sdformat-urdf/recipe.yaml
new file mode 100644
index 00000000..7fa8b01b
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-urdf/recipe.yaml
@@ -0,0 +1,103 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sdformat-urdf
+ version: 1.0.2
+source:
+ git: https://github.com/ros2-gbp/sdformat_urdf-release.git
+ tag: release/jazzy/sdformat_urdf/1.0.2-1
+ target_directory: ros-jazzy-sdformat-urdf/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-test-files
+ - ros-jazzy-sdformat-vendor
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-urdf-parser-plugin
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - urdfdom_headers
+ run:
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sdformat-vendor
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-urdf-parser-plugin
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - urdfdom_headers
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sdformat-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-sdformat-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sdformat-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-sdformat-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sdformat-vendor/patch/ros-jazzy-sdformat-vendor.patch b/recipes/ros-jazzy-sdformat-vendor/patch/ros-jazzy-sdformat-vendor.patch
new file mode 100644
index 00000000..afae280c
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-vendor/patch/ros-jazzy-sdformat-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 723d6a6..08a726c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,7 +38,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+ set(VERSION_MATCH "")
+ endif()
+
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+ SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/recipes/ros-jazzy-sdformat-vendor/recipe.yaml b/recipes/ros-jazzy-sdformat-vendor/recipe.yaml
new file mode 100644
index 00000000..a499aa58
--- /dev/null
+++ b/recipes/ros-jazzy-sdformat-vendor/recipe.yaml
@@ -0,0 +1,113 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sdformat-vendor
+ version: 0.0.8
+source:
+ git: https://github.com/ros2-gbp/sdformat_vendor-release.git
+ tag: release/jazzy/sdformat_vendor/0.0.8-1
+ target_directory: ros-jazzy-sdformat-vendor/src/work
+ patches:
+ - patch/ros-jazzy-sdformat-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - pybind11
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libxml2
+ - numpy
+ - pip
+ - psutil
+ - pybind11
+ - pytest
+ - python
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdfdom
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdformat14
+ - tinyxml2
+ run:
+ - pybind11
+ - python
+ - ros-jazzy-gz-cmake-vendor
+ - ros-jazzy-gz-math-vendor
+ - ros-jazzy-gz-tools-vendor
+ - ros-jazzy-gz-utils-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdfdom
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdformat14
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sdl2-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-sdl2-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sdl2-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sdl2-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-sdl2-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sdl2-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sdl2-vendor/recipe.yaml b/recipes/ros-jazzy-sdl2-vendor/recipe.yaml
new file mode 100644
index 00000000..a75ffb36
--- /dev/null
+++ b/recipes/ros-jazzy-sdl2-vendor/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sdl2-vendor
+ version: 3.3.0
+source:
+ git: https://github.com/ros2-gbp/joystick_drivers-release.git
+ tag: release/jazzy/sdl2_vendor/3.3.0-3
+ target_directory: ros-jazzy-sdl2-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdl2
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sdl2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-self-test/bld_ament_cmake.bat b/recipes/ros-jazzy-self-test/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-self-test/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-self-test/build_ament_cmake.sh b/recipes/ros-jazzy-self-test/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-self-test/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-self-test/recipe.yaml b/recipes/ros-jazzy-self-test/recipe.yaml
new file mode 100644
index 00000000..cb8ab1af
--- /dev/null
+++ b/recipes/ros-jazzy-self-test/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-self-test
+ version: 4.2.1
+source:
+ git: https://github.com/ros2-gbp/diagnostics-release.git
+ tag: release/jazzy/self_test/4.2.1-1
+ target_directory: ros-jazzy-self-test/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-diagnostic-msgs
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat b/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh b/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml b/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml
new file mode 100644
index 00000000..0eb6bb7e
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sensor-msgs-py
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/sensor_msgs_py/5.3.5-1
+ target_directory: ros-jazzy-sensor-msgs-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - numpy
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sensor-msgs/recipe.yaml b/recipes/ros-jazzy-sensor-msgs/recipe.yaml
new file mode 100644
index 00000000..c08e7b9c
--- /dev/null
+++ b/recipes/ros-jazzy-sensor-msgs/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sensor-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/sensor_msgs/5.3.5-1
+ target_directory: ros-jazzy-sensor-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-cmake
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-service-msgs/recipe.yaml b/recipes/ros-jazzy-service-msgs/recipe.yaml
new file mode 100644
index 00000000..33b8cf9b
--- /dev/null
+++ b/recipes/ros-jazzy-service-msgs/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-service-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/service_msgs/2.0.2-2
+ target_directory: ros-jazzy-service-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-shape-msgs/recipe.yaml b/recipes/ros-jazzy-shape-msgs/recipe.yaml
new file mode 100644
index 00000000..7adeaa0b
--- /dev/null
+++ b/recipes/ros-jazzy-shape-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-shape-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/shape_msgs/5.3.5-1
+ target_directory: ros-jazzy-shape-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-simulation/bld_ament_cmake.bat b/recipes/ros-jazzy-simulation/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-simulation/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-simulation/build_ament_cmake.sh b/recipes/ros-jazzy-simulation/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-simulation/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-simulation/recipe.yaml b/recipes/ros-jazzy-simulation/recipe.yaml
new file mode 100644
index 00000000..c9a44839
--- /dev/null
+++ b/recipes/ros-jazzy-simulation/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-simulation
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/variants-release.git
+ tag: release/jazzy/simulation/0.11.0-1
+ target_directory: ros-jazzy-simulation/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-base
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-gz-image
+ - ros-jazzy-ros-gz-interfaces
+ - ros-jazzy-ros-gz-sim
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-slam-toolbox/bld_ament_cmake.bat b/recipes/ros-jazzy-slam-toolbox/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-slam-toolbox/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-slam-toolbox/build_ament_cmake.sh b/recipes/ros-jazzy-slam-toolbox/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-slam-toolbox/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-slam-toolbox/recipe.yaml b/recipes/ros-jazzy-slam-toolbox/recipe.yaml
new file mode 100644
index 00000000..1d0f0a37
--- /dev/null
+++ b/recipes/ros-jazzy-slam-toolbox/recipe.yaml
@@ -0,0 +1,172 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-slam-toolbox
+ version: 2.8.2
+source:
+ git: https://github.com/SteveMacenski/slam_toolbox-release.git
+ tag: release/jazzy/slam_toolbox/2.8.2-1
+ target_directory: ros-jazzy-slam-toolbox/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - ${{ 'qt-main' if (build_platform != target_platform) }}
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - blas-devel
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - ceres-solver
+ - eigen
+ - libboost-devel
+ - libboost-python-devel
+ - liblapack
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-flake8
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-bond
+ - ros-jazzy-bondcpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-sensor-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - suitesparse
+ - tbb
+ - tbb-devel
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - ceres-solver
+ - eigen
+ - libboost-devel
+ - libboost-python-devel
+ - liblapack
+ - python
+ - qt-main
+ - ros-jazzy-bond
+ - ros-jazzy-bondcpp
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-interactive-markers
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rviz-common
+ - ros-jazzy-rviz-default-plugins
+ - ros-jazzy-rviz-ogre-vendor
+ - ros-jazzy-rviz-rendering
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-sensor-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - suitesparse
+ - tbb
+ - tbb-devel
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-smclib/bld_ament_cmake.bat b/recipes/ros-jazzy-smclib/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-smclib/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-smclib/build_ament_cmake.sh b/recipes/ros-jazzy-smclib/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-smclib/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-smclib/recipe.yaml b/recipes/ros-jazzy-smclib/recipe.yaml
new file mode 100644
index 00000000..5ccbacd6
--- /dev/null
+++ b/recipes/ros-jazzy-smclib/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-smclib
+ version: 4.1.2
+source:
+ git: https://github.com/ros2-gbp/bond_core-release.git
+ tag: release/jazzy/smclib/4.1.2-1
+ target_directory: ros-jazzy-smclib/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-spdlog-vendor/recipe.yaml b/recipes/ros-jazzy-spdlog-vendor/recipe.yaml
new file mode 100644
index 00000000..10ad6fc6
--- /dev/null
+++ b/recipes/ros-jazzy-spdlog-vendor/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-spdlog-vendor
+ version: 1.6.1
+source:
+ git: https://github.com/ros2-gbp/spdlog_vendor-release.git
+ tag: release/jazzy/spdlog_vendor/1.6.1-1
+ target_directory: ros-jazzy-spdlog-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - spdlog
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - spdlog
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sqlite3-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-sqlite3-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sqlite3-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sqlite3-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-sqlite3-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sqlite3-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sqlite3-vendor/recipe.yaml b/recipes/ros-jazzy-sqlite3-vendor/recipe.yaml
new file mode 100644
index 00000000..7a38061b
--- /dev/null
+++ b/recipes/ros-jazzy-sqlite3-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sqlite3-vendor
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/sqlite3_vendor/0.26.6-1
+ target_directory: ros-jazzy-sqlite3-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite
+ - sqlite 3.*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - sqlite
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-srdfdom/bld_ament_cmake.bat b/recipes/ros-jazzy-srdfdom/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-srdfdom/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-srdfdom/build_ament_cmake.sh b/recipes/ros-jazzy-srdfdom/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-srdfdom/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-srdfdom/recipe.yaml b/recipes/ros-jazzy-srdfdom/recipe.yaml
new file mode 100644
index 00000000..c686f270
--- /dev/null
+++ b/recipes/ros-jazzy-srdfdom/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-srdfdom
+ version: 2.0.7
+source:
+ git: https://github.com/ros2-gbp/srdfdom-release.git
+ tag: release/jazzy/srdfdom/2.0.7-1
+ target_directory: ros-jazzy-srdfdom/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - console_bridge
+ - libboost-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-cmake
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - console_bridge
+ - python
+ - ros-jazzy-console-bridge-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf
+ - ros-jazzy-urdfdom-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-sros2-cmake/recipe.yaml b/recipes/ros-jazzy-sros2-cmake/recipe.yaml
new file mode 100644
index 00000000..67a80a00
--- /dev/null
+++ b/recipes/ros-jazzy-sros2-cmake/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sros2-cmake
+ version: 0.13.2
+source:
+ git: https://github.com/ros2-gbp/sros2-release.git
+ tag: release/jazzy/sros2_cmake/0.13.2-1
+ target_directory: ros-jazzy-sros2-cmake/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-test
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-sros2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-sros2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-sros2/bld_ament_python.bat b/recipes/ros-jazzy-sros2/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-sros2/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-sros2/build_ament_python.sh b/recipes/ros-jazzy-sros2/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-sros2/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-sros2/recipe.yaml b/recipes/ros-jazzy-sros2/recipe.yaml
new file mode 100644
index 00000000..238bf510
--- /dev/null
+++ b/recipes/ros-jazzy-sros2/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-sros2
+ version: 0.13.2
+source:
+ git: https://github.com/ros2-gbp/sros2-release.git
+ tag: release/jazzy/sros2/0.13.2-1
+ target_directory: ros-jazzy-sros2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-mypy
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-test-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - argcomplete
+ - cryptography
+ - importlib_resources
+ - lxml
+ - python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-statistics-msgs/recipe.yaml b/recipes/ros-jazzy-statistics-msgs/recipe.yaml
new file mode 100644
index 00000000..586482b0
--- /dev/null
+++ b/recipes/ros-jazzy-statistics-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-statistics-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/statistics_msgs/2.0.2-2
+ target_directory: ros-jazzy-statistics-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-std-msgs/recipe.yaml b/recipes/ros-jazzy-std-msgs/recipe.yaml
new file mode 100644
index 00000000..3e089c06
--- /dev/null
+++ b/recipes/ros-jazzy-std-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-std-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/std_msgs/5.3.5-1
+ target_directory: ros-jazzy-std-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat b/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh b/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-std-srvs/recipe.yaml b/recipes/ros-jazzy-std-srvs/recipe.yaml
new file mode 100644
index 00000000..9aee1c03
--- /dev/null
+++ b/recipes/ros-jazzy-std-srvs/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-std-srvs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/std_srvs/5.3.5-1
+ target_directory: ros-jazzy-std-srvs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-steering-controllers-library/bld_ament_cmake.bat b/recipes/ros-jazzy-steering-controllers-library/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-steering-controllers-library/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-steering-controllers-library/build_ament_cmake.sh b/recipes/ros-jazzy-steering-controllers-library/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-steering-controllers-library/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-steering-controllers-library/recipe.yaml b/recipes/ros-jazzy-steering-controllers-library/recipe.yaml
new file mode 100644
index 00000000..d1fe6dd4
--- /dev/null
+++ b/recipes/ros-jazzy-steering-controllers-library/recipe.yaml
@@ -0,0 +1,121 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-steering-controllers-library
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/steering_controllers_library/4.20.0-1
+ target_directory: ros-jazzy-steering-controllers-library/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ackermann-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ackermann-msgs
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-stereo-image-proc/bld_ament_cmake.bat b/recipes/ros-jazzy-stereo-image-proc/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-image-proc/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-stereo-image-proc/build_ament_cmake.sh b/recipes/ros-jazzy-stereo-image-proc/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-image-proc/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-stereo-image-proc/recipe.yaml b/recipes/ros-jazzy-stereo-image-proc/recipe.yaml
new file mode 100644
index 00000000..56805a03
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-image-proc/recipe.yaml
@@ -0,0 +1,114 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-stereo-image-proc
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/stereo_image_proc/5.0.6-1
+ target_directory: ros-jazzy-stereo-image-proc/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libopencv
+ - numpy
+ - pip
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake-auto
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-proc
+ - ros-jazzy-image-transport
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-message-filters
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-testing
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-stereo-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-image-proc
+ - ros-jazzy-image-transport
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-stereo-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-stereo-msgs/recipe.yaml b/recipes/ros-jazzy-stereo-msgs/recipe.yaml
new file mode 100644
index 00000000..a199d393
--- /dev/null
+++ b/recipes/ros-jazzy-stereo-msgs/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-stereo-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/stereo_msgs/5.3.5-1
+ target_directory: ros-jazzy-stereo-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-stomp/bld_catkin.bat b/recipes/ros-jazzy-stomp/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-stomp/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-stomp/build_catkin.sh b/recipes/ros-jazzy-stomp/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-stomp/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-stomp/recipe.yaml b/recipes/ros-jazzy-stomp/recipe.yaml
new file mode 100644
index 00000000..6945d4dc
--- /dev/null
+++ b/recipes/ros-jazzy-stomp/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-stomp
+ version: 0.1.2
+source:
+ git: https://github.com/ros2-gbp/stomp-release.git
+ tag: release/jazzy/stomp/0.1.2-4
+ target_directory: ros-jazzy-stomp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - console_bridge
+ - eigen
+ - gtest
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-industrial-cmake-boilerplate
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - console_bridge
+ - eigen
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tango-icons-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-tango-icons-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tango-icons-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tango-icons-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-tango-icons-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tango-icons-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tango-icons-vendor/recipe.yaml b/recipes/ros-jazzy-tango-icons-vendor/recipe.yaml
new file mode 100644
index 00000000..a6467f83
--- /dev/null
+++ b/recipes/ros-jazzy-tango-icons-vendor/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tango-icons-vendor
+ version: 0.3.0
+source:
+ git: https://github.com/ros2-gbp/tango_icons_vendor-release.git
+ tag: release/jazzy/tango_icons_vendor/0.3.0-3
+ target_directory: ros-jazzy-tango-icons-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tcb-span/bld_ament_cmake.bat b/recipes/ros-jazzy-tcb-span/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tcb-span/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tcb-span/build_ament_cmake.sh b/recipes/ros-jazzy-tcb-span/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tcb-span/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tcb-span/recipe.yaml b/recipes/ros-jazzy-tcb-span/recipe.yaml
new file mode 100644
index 00000000..404099ab
--- /dev/null
+++ b/recipes/ros-jazzy-tcb-span/recipe.yaml
@@ -0,0 +1,85 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tcb-span
+ version: 1.0.2
+source:
+ git: https://github.com/ros2-gbp/cpp_polyfills-release.git
+ tag: release/jazzy/tcb_span/1.0.2-5
+ target_directory: ros-jazzy-tcb-span/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-teleop-twist-joy/bld_ament_cmake.bat b/recipes/ros-jazzy-teleop-twist-joy/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-joy/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-teleop-twist-joy/build_ament_cmake.sh b/recipes/ros-jazzy-teleop-twist-joy/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-joy/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-teleop-twist-joy/recipe.yaml b/recipes/ros-jazzy-teleop-twist-joy/recipe.yaml
new file mode 100644
index 00000000..e0f3a664
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-joy/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-teleop-twist-joy
+ version: 2.6.2
+source:
+ git: https://github.com/ros2-gbp/teleop_twist_joy-release.git
+ tag: release/jazzy/teleop_twist_joy/2.6.2-1
+ target_directory: ros-jazzy-teleop-twist-joy/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch-ros
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-joy
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-teleop-twist-keyboard/bld_ament_python.bat b/recipes/ros-jazzy-teleop-twist-keyboard/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-keyboard/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-teleop-twist-keyboard/build_ament_python.sh b/recipes/ros-jazzy-teleop-twist-keyboard/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-keyboard/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-teleop-twist-keyboard/recipe.yaml b/recipes/ros-jazzy-teleop-twist-keyboard/recipe.yaml
new file mode 100644
index 00000000..020b215f
--- /dev/null
+++ b/recipes/ros-jazzy-teleop-twist-keyboard/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-teleop-twist-keyboard
+ version: 2.4.0
+source:
+ git: https://github.com/ros2-gbp/teleop_twist_keyboard-release.git
+ tag: release/jazzy/teleop_twist_keyboard/2.4.0-2
+ target_directory: ros-jazzy-teleop-twist-keyboard/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-test-interface-files/bld_ament_cmake.bat b/recipes/ros-jazzy-test-interface-files/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-test-interface-files/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-test-interface-files/build_ament_cmake.sh b/recipes/ros-jazzy-test-interface-files/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-test-interface-files/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-test-interface-files/recipe.yaml b/recipes/ros-jazzy-test-interface-files/recipe.yaml
new file mode 100644
index 00000000..712df02a
--- /dev/null
+++ b/recipes/ros-jazzy-test-interface-files/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-test-interface-files
+ version: 0.11.0
+source:
+ git: https://github.com/ros2-gbp/test_interface_files-release.git
+ tag: release/jazzy/test_interface_files/0.11.0-3
+ target_directory: ros-jazzy-test-interface-files/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-core
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-test-msgs/recipe.yaml b/recipes/ros-jazzy-test-msgs/recipe.yaml
new file mode 100644
index 00000000..edca96ec
--- /dev/null
+++ b/recipes/ros-jazzy-test-msgs/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-test-msgs
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/test_msgs/2.0.2-2
+ target_directory: ros-jazzy-test-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-test-interface-files
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-bullet/recipe.yaml b/recipes/ros-jazzy-tf2-bullet/recipe.yaml
new file mode 100644
index 00000000..eddbdb9d
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-bullet/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-bullet
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_bullet/0.36.8-1
+ target_directory: ros-jazzy-tf2-bullet/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - bullet
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - bullet
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml b/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml
new file mode 100644
index 00000000..bc8e1815
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-eigen-kdl
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_eigen_kdl/0.36.8-1
+ target_directory: ros-jazzy-tf2-eigen-kdl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-eigen/recipe.yaml b/recipes/ros-jazzy-tf2-eigen/recipe.yaml
new file mode 100644
index 00000000..84883e15
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-eigen/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-eigen
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_eigen/0.36.8-1
+ target_directory: ros-jazzy-tf2-eigen/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml
new file mode 100644
index 00000000..a4d24630
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-geometry-msgs
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_geometry_msgs/0.36.8-1
+ target_directory: ros-jazzy-tf2-geometry-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - numpy
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-ros-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-kdl/recipe.yaml b/recipes/ros-jazzy-tf2-kdl/recipe.yaml
new file mode 100644
index 00000000..5d160a6e
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-kdl/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-kdl
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_kdl/0.36.8-1
+ target_directory: ros-jazzy-tf2-kdl/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-orocos-kdl-vendor
+ - ros-jazzy-python-orocos-kdl-vendor
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-ros-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-msgs/recipe.yaml
new file mode 100644
index 00000000..13c9440c
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-msgs/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-msgs
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_msgs/0.36.8-1
+ target_directory: ros-jazzy-tf2-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-py/recipe.yaml b/recipes/ros-jazzy-tf2-py/recipe.yaml
new file mode 100644
index 00000000..4e76b727
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-py/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-py
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_py/0.36.8-1
+ target_directory: ros-jazzy-tf2-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rpyutils
+ - ros-jazzy-tf2
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat b/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh b/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-tf2-ros-py/recipe.yaml b/recipes/ros-jazzy-tf2-ros-py/recipe.yaml
new file mode 100644
index 00000000..237792b0
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros-py/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-ros-py
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_ros_py/0.36.8-1
+ target_directory: ros-jazzy-tf2-ros-py/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-ros/recipe.yaml b/recipes/ros-jazzy-tf2-ros/recipe.yaml
new file mode 100644
index 00000000..ab6c03b6
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-ros/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-ros
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_ros/0.36.8-1
+ target_directory: ros-jazzy-tf2-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosgraph-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml
new file mode 100644
index 00000000..b8eb9430
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-sensor-msgs
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_sensor_msgs/0.36.8-1
+ target_directory: ros-jazzy-tf2-sensor-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-python-cmake-module
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - eigen
+ - numpy
+ - python
+ - ros-jazzy-eigen3-cmake-module
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-sensor-msgs-py
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-tf2-ros-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat b/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2-tools/build_ament_python.sh b/recipes/ros-jazzy-tf2-tools/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-tools/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-tf2-tools/recipe.yaml b/recipes/ros-jazzy-tf2-tools/recipe.yaml
new file mode 100644
index 00000000..6cd4342a
--- /dev/null
+++ b/recipes/ros-jazzy-tf2-tools/recipe.yaml
@@ -0,0 +1,94 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2-tools
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2_tools/0.36.8-1
+ target_directory: ros-jazzy-tf2-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-copyright
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - graphviz
+ - python
+ - pyyaml
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-msgs
+ - ros-jazzy-tf2-py
+ - ros-jazzy-tf2-ros-py
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tf2/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tf2/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tf2/build_ament_cmake.sh b/recipes/ros-jazzy-tf2/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tf2/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tf2/recipe.yaml b/recipes/ros-jazzy-tf2/recipe.yaml
new file mode 100644
index 00000000..8a8731b7
--- /dev/null
+++ b/recipes/ros-jazzy-tf2/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tf2
+ version: 0.36.8
+source:
+ git: https://github.com/ros2-gbp/geometry2-release.git
+ tag: release/jazzy/tf2/0.36.8-1
+ target_directory: ros-jazzy-tf2/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-cppcheck
+ - ros-jazzy-ament-cmake-cpplint
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-lint-cmake
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-cmake-uncrustify
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-runtime-cpp
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-theora-image-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-theora-image-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-theora-image-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-theora-image-transport/build_ament_cmake.sh b/recipes/ros-jazzy-theora-image-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-theora-image-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-theora-image-transport/recipe.yaml b/recipes/ros-jazzy-theora-image-transport/recipe.yaml
new file mode 100644
index 00000000..fbd2c384
--- /dev/null
+++ b/recipes/ros-jazzy-theora-image-transport/recipe.yaml
@@ -0,0 +1,123 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-theora-image-transport
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/image_transport_plugins-release.git
+ tag: release/jazzy/theora_image_transport/4.0.3-1
+ target_directory: ros-jazzy-theora-image-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libogg
+ - libopencv
+ - libtheora
+ - numpy
+ - pip
+ - pkg-config
+ - py-opencv
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - libogg
+ - libopencv
+ - libtheora
+ - py-opencv
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-transport
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rcutils
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-tinyxml2-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-tinyxml2-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tinyxml2-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tinyxml2-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-tinyxml2-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tinyxml2-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tinyxml2-vendor/patch/ros-jazzy-tinyxml2-vendor.patch b/recipes/ros-jazzy-tinyxml2-vendor/patch/ros-jazzy-tinyxml2-vendor.patch
new file mode 100644
index 00000000..8a8075dc
--- /dev/null
+++ b/recipes/ros-jazzy-tinyxml2-vendor/patch/ros-jazzy-tinyxml2-vendor.patch
@@ -0,0 +1,17 @@
+diff --git a/cmake/Modules/FindTinyXML2.cmake b/cmake/Modules/FindTinyXML2.cmake
+index 87991be..5436d86 100644
+--- a/cmake/Modules/FindTinyXML2.cmake
++++ b/cmake/Modules/FindTinyXML2.cmake
+@@ -67,6 +67,12 @@ else()
+ set_property(TARGET tinyxml2::tinyxml2 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${TINYXML2_INCLUDE_DIR})
+ list(APPEND TinyXML2_TARGETS tinyxml2::tinyxml2)
+ endif()
++
++ # Compatibility with https://github.com/gazebosim/gz-cmake/blob/eb1c510e6278935eb742ed92c6a6d1388439f8bd/cmake/FindTINYXML2.cmake#L4
++ if(NOT TARGET TINYXML2::TINYXML2)
++ add_library(TINYXML2::TINYXML2 INTERFACE IMPORTED)
++ set_property(TARGET TINYXML2::TINYXML2 PROPERTY INTERFACE_LINK_LIBRARIES tinyxml2::tinyxml2)
++ endif()
+ endif()
+
+ # Set mixed case INCLUDE_DIRS and LIBRARY variables from upper case ones.
diff --git a/recipes/ros-jazzy-tinyxml2-vendor/recipe.yaml b/recipes/ros-jazzy-tinyxml2-vendor/recipe.yaml
new file mode 100644
index 00000000..ccacbba8
--- /dev/null
+++ b/recipes/ros-jazzy-tinyxml2-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tinyxml2-vendor
+ version: 0.9.1
+source:
+ git: https://github.com/ros2-gbp/tinyxml2_vendor-release.git
+ tag: release/jazzy/tinyxml2_vendor/0.9.1-3
+ target_directory: ros-jazzy-tinyxml2-vendor/src/work
+ patches:
+ - patch/ros-jazzy-tinyxml2-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - tinyxml2
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tl-expected/bld_ament_cmake.bat b/recipes/ros-jazzy-tl-expected/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tl-expected/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tl-expected/build_ament_cmake.sh b/recipes/ros-jazzy-tl-expected/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tl-expected/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tl-expected/recipe.yaml b/recipes/ros-jazzy-tl-expected/recipe.yaml
new file mode 100644
index 00000000..4ba36e54
--- /dev/null
+++ b/recipes/ros-jazzy-tl-expected/recipe.yaml
@@ -0,0 +1,84 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tl-expected
+ version: 1.0.2
+source:
+ git: https://github.com/ros2-gbp/cpp_polyfills-release.git
+ tag: release/jazzy/tl_expected/1.0.2-5
+ target_directory: ros-jazzy-tl-expected/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tlsf-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-tlsf-cpp/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf-cpp/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tlsf-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-tlsf-cpp/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf-cpp/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tlsf-cpp/recipe.yaml b/recipes/ros-jazzy-tlsf-cpp/recipe.yaml
new file mode 100644
index 00000000..3d664cc0
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf-cpp/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tlsf-cpp
+ version: 0.17.0
+source:
+ git: https://github.com/ros2-gbp/realtime_support-release.git
+ tag: release/jazzy/tlsf_cpp/0.17.0-3
+ target_directory: ros-jazzy-tlsf-cpp/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw
+ - ros-jazzy-rmw-implementation-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tlsf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rmw
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tlsf
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tlsf/bld_ament_cmake.bat b/recipes/ros-jazzy-tlsf/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tlsf/build_ament_cmake.sh b/recipes/ros-jazzy-tlsf/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tlsf/recipe.yaml b/recipes/ros-jazzy-tlsf/recipe.yaml
new file mode 100644
index 00000000..647e0be2
--- /dev/null
+++ b/recipes/ros-jazzy-tlsf/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tlsf
+ version: 0.9.0
+source:
+ git: https://github.com/ros2-gbp/tlsf-release.git
+ tag: release/jazzy/tlsf/0.9.0-3
+ target_directory: ros-jazzy-tlsf/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-topic-monitor/bld_ament_python.bat b/recipes/ros-jazzy-topic-monitor/bld_ament_python.bat
new file mode 100755
index 00000000..902db09b
--- /dev/null
+++ b/recipes/ros-jazzy-topic-monitor/bld_ament_python.bat
@@ -0,0 +1,25 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+pushd %SRC_DIR%\%PKG_NAME%\src\work
+set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
+set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
+
+:: If there is a setup.cfg that contains install-scripts then use pip to install
+findstr install[-_]scripts setup.cfg
+if "%errorlevel%" == "0" (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
+) else (
+ %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
+ --prefix=%LIBRARY_PREFIX% ^
+ --install-lib=%SP_DIR% ^
+ --install-scripts=%LIBRARY_PREFIX%\bin
+)
+
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-topic-monitor/build_ament_python.sh b/recipes/ros-jazzy-topic-monitor/build_ament_python.sh
new file mode 100755
index 00000000..e95680de
--- /dev/null
+++ b/recipes/ros-jazzy-topic-monitor/build_ament_python.sh
@@ -0,0 +1,19 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+pushd $SRC_DIR/$PKG_NAME/src/work
+
+# If there is a setup.cfg that contains install-scripts then we should not set it here
+if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
+ # Remove e.g. ros-humble- from PKG_NAME
+ PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
+ # Substitute "-" with "_"
+ PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
+ INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
+ echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
+ $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
+else
+ $PYTHON -m pip install . --no-deps -vvv
+fi
diff --git a/recipes/ros-jazzy-topic-monitor/recipe.yaml b/recipes/ros-jazzy-topic-monitor/recipe.yaml
new file mode 100644
index 00000000..6a877615
--- /dev/null
+++ b/recipes/ros-jazzy-topic-monitor/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-topic-monitor
+ version: 0.33.5
+source:
+ git: https://github.com/ros2-gbp/demos-release.git
+ tag: release/jazzy/topic_monitor/0.33.5-1
+ target_directory: ros-jazzy-topic-monitor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix else '%RECIPE_DIR%\\bld_ament_python.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pytest
+ - python
+ - ros-jazzy-ament-flake8
+ - ros-jazzy-ament-pep257
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - setuptools
+ run:
+ - python
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-topic-tools-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-topic-tools-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-topic-tools-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-topic-tools-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-topic-tools-interfaces/recipe.yaml b/recipes/ros-jazzy-topic-tools-interfaces/recipe.yaml
new file mode 100644
index 00000000..6ec8a095
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools-interfaces/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-topic-tools-interfaces
+ version: 1.3.2
+source:
+ git: https://github.com/ros2-gbp/topic_tools-release.git
+ tag: release/jazzy/topic_tools_interfaces/1.3.2-1
+ target_directory: ros-jazzy-topic-tools-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-topic-tools/bld_ament_cmake.bat b/recipes/ros-jazzy-topic-tools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-topic-tools/build_ament_cmake.sh b/recipes/ros-jazzy-topic-tools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-topic-tools/recipe.yaml b/recipes/ros-jazzy-topic-tools/recipe.yaml
new file mode 100644
index 00000000..637d08d5
--- /dev/null
+++ b/recipes/ros-jazzy-topic-tools/recipe.yaml
@@ -0,0 +1,100 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-topic-tools
+ version: 1.3.2
+source:
+ git: https://github.com/ros2-gbp/topic_tools-release.git
+ tag: release/jazzy/topic_tools/1.3.2-1
+ target_directory: ros-jazzy-topic-tools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-std-msgs
+ - ros-jazzy-topic-tools-interfaces
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2cli
+ - ros-jazzy-rosidl-runtime-py
+ - ros-jazzy-topic-tools-interfaces
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tracetools-image-pipeline/bld_ament_cmake.bat b/recipes/ros-jazzy-tracetools-image-pipeline/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools-image-pipeline/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tracetools-image-pipeline/build_ament_cmake.sh b/recipes/ros-jazzy-tracetools-image-pipeline/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools-image-pipeline/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tracetools-image-pipeline/recipe.yaml b/recipes/ros-jazzy-tracetools-image-pipeline/recipe.yaml
new file mode 100644
index 00000000..ec88a6d0
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools-image-pipeline/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tracetools-image-pipeline
+ version: 5.0.6
+source:
+ git: https://github.com/ros2-gbp/image_pipeline-release.git
+ tag: release/jazzy/tracetools_image_pipeline/5.0.6-1
+ target_directory: ros-jazzy-tracetools-image-pipeline/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat b/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tracetools/build_ament_cmake.sh b/recipes/ros-jazzy-tracetools/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tracetools/recipe.yaml b/recipes/ros-jazzy-tracetools/recipe.yaml
new file mode 100644
index 00000000..eef7158e
--- /dev/null
+++ b/recipes/ros-jazzy-tracetools/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tracetools
+ version: 8.2.3
+source:
+ git: https://github.com/ros2-gbp/ros2_tracing-release.git
+ tag: release/jazzy/tracetools/8.2.3-1
+ target_directory: ros-jazzy-tracetools/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - ${{ "lttng-ust" if linux }}
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - pkg-config
+ - python
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - ${{ "lttng-ust" if linux }}
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-trajectory-msgs/recipe.yaml b/recipes/ros-jazzy-trajectory-msgs/recipe.yaml
new file mode 100644
index 00000000..e1ab0c1a
--- /dev/null
+++ b/recipes/ros-jazzy-trajectory-msgs/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-trajectory-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/trajectory_msgs/5.3.5-1
+ target_directory: ros-jazzy-trajectory-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-transmission-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-transmission-interface/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-transmission-interface/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-transmission-interface/build_ament_cmake.sh b/recipes/ros-jazzy-transmission-interface/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-transmission-interface/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-transmission-interface/recipe.yaml b/recipes/ros-jazzy-transmission-interface/recipe.yaml
new file mode 100644
index 00000000..009b2456
--- /dev/null
+++ b/recipes/ros-jazzy-transmission-interface/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-transmission-interface
+ version: 4.25.0
+source:
+ git: https://github.com/ros2-gbp/ros2_control-release.git
+ tag: release/jazzy/transmission_interface/4.25.0-1
+ target_directory: ros-jazzy-transmission-interface/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gen-version-h
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tricycle-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-tricycle-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tricycle-controller/build_ament_cmake.sh b/recipes/ros-jazzy-tricycle-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tricycle-controller/recipe.yaml b/recipes/ros-jazzy-tricycle-controller/recipe.yaml
new file mode 100644
index 00000000..8f07e6e6
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-controller/recipe.yaml
@@ -0,0 +1,119 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tricycle-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/tricycle_controller/4.20.0-1
+ target_directory: ros-jazzy-tricycle-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ackermann-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ackermann-msgs
+ - ros-jazzy-backward-ros
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-controller-interface
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-nav-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcpputils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-tricycle-steering-controller/bld_ament_cmake.bat b/recipes/ros-jazzy-tricycle-steering-controller/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-steering-controller/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-tricycle-steering-controller/build_ament_cmake.sh b/recipes/ros-jazzy-tricycle-steering-controller/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-steering-controller/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-tricycle-steering-controller/recipe.yaml b/recipes/ros-jazzy-tricycle-steering-controller/recipe.yaml
new file mode 100644
index 00000000..c32393ce
--- /dev/null
+++ b/recipes/ros-jazzy-tricycle-steering-controller/recipe.yaml
@@ -0,0 +1,107 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-tricycle-steering-controller
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/tricycle_steering_controller/4.20.0-1
+ target_directory: ros-jazzy-tricycle-steering-controller/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-srvs
+ - ros-jazzy-steering-controllers-library
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-turtlesim/bld_ament_cmake.bat b/recipes/ros-jazzy-turtlesim/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-turtlesim/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-turtlesim/build_ament_cmake.sh b/recipes/ros-jazzy-turtlesim/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-turtlesim/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-turtlesim/recipe.yaml b/recipes/ros-jazzy-turtlesim/recipe.yaml
new file mode 100644
index 00000000..a20e9da4
--- /dev/null
+++ b/recipes/ros-jazzy-turtlesim/recipe.yaml
@@ -0,0 +1,119 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-turtlesim
+ version: 1.8.3
+source:
+ git: https://github.com/ros2-gbp/ros_tutorials-release.git
+ tag: release/jazzy/turtlesim/1.8.3-1
+ target_directory: ros-jazzy-turtlesim/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - qt-main
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - qt-main
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - python
+ - qt-main
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rcl-interfaces
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-action
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-twist-mux-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-twist-mux-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-twist-mux-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-twist-mux-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-twist-mux-msgs/recipe.yaml b/recipes/ros-jazzy-twist-mux-msgs/recipe.yaml
new file mode 100644
index 00000000..ed59e757
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux-msgs/recipe.yaml
@@ -0,0 +1,89 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-twist-mux-msgs
+ version: 3.0.1
+source:
+ git: https://github.com/ros2-gbp/twist_mux_msgs-release.git
+ tag: release/jazzy/twist_mux_msgs/3.0.1-3
+ target_directory: ros-jazzy-twist-mux-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-twist-mux/bld_ament_cmake.bat b/recipes/ros-jazzy-twist-mux/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-twist-mux/build_ament_cmake.sh b/recipes/ros-jazzy-twist-mux/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-twist-mux/recipe.yaml b/recipes/ros-jazzy-twist-mux/recipe.yaml
new file mode 100644
index 00000000..994685dd
--- /dev/null
+++ b/recipes/ros-jazzy-twist-mux/recipe.yaml
@@ -0,0 +1,102 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-twist-mux
+ version: 4.4.0
+source:
+ git: https://github.com/ros2-gbp/twist_mux-release.git
+ tag: release/jazzy/twist_mux/4.4.0-1
+ target_directory: ros-jazzy-twist-mux/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-xmllint
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-launch
+ - ros-jazzy-launch-testing
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-twist-mux-msgs
+ - ros-jazzy-visualization-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-type-description-interfaces/recipe.yaml b/recipes/ros-jazzy-type-description-interfaces/recipe.yaml
new file mode 100644
index 00000000..3172d2fe
--- /dev/null
+++ b/recipes/ros-jazzy-type-description-interfaces/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-type-description-interfaces
+ version: 2.0.2
+source:
+ git: https://github.com/ros2-gbp/rcl_interfaces-release.git
+ tag: release/jazzy/type_description_interfaces/2.0.2-2
+ target_directory: ros-jazzy-type-description-interfaces/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros-jazzy-service-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros-jazzy-service-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml b/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml
new file mode 100644
index 00000000..693c5ea0
--- /dev/null
+++ b/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-uncrustify-vendor
+ version: 3.0.0
+source:
+ git: https://github.com/ros2-gbp/uncrustify_vendor-release.git
+ tag: release/jazzy/uncrustify_vendor/3.0.0-2
+ target_directory: ros-jazzy-uncrustify-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - vcstool
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - uncrustify
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - uncrustify
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml b/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml
new file mode 100644
index 00000000..9c5e6f9d
--- /dev/null
+++ b/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-unique-identifier-msgs
+ version: 2.5.0
+source:
+ git: https://github.com/ros2-gbp/unique_identifier_msgs-release.git
+ tag: release/jazzy/unique_identifier_msgs/2.5.0-3
+ target_directory: ros-jazzy-unique-identifier-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-core-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-calibration/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-calibration/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-calibration/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-calibration/build_ament_cmake.sh b/recipes/ros-jazzy-ur-calibration/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-calibration/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-calibration/recipe.yaml b/recipes/ros-jazzy-ur-calibration/recipe.yaml
new file mode 100644
index 00000000..d6e75943
--- /dev/null
+++ b/recipes/ros-jazzy-ur-calibration/recipe.yaml
@@ -0,0 +1,98 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-calibration
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur_calibration/3.0.2-1
+ target_directory: ros-jazzy-ur-calibration/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ur-client-library
+ - ros-jazzy-ur-robot-driver
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml-cpp
+ run:
+ - eigen
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ur-client-library
+ - ros-jazzy-ur-robot-driver
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-client-library/bld_catkin.bat b/recipes/ros-jazzy-ur-client-library/bld_catkin.bat
new file mode 100755
index 00000000..854efe1b
--- /dev/null
+++ b/recipes/ros-jazzy-ur-client-library/bld_catkin.bat
@@ -0,0 +1,81 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin
+:: if ROS (1) is build as shared library . However, some packages are not
+:: passing compilation flags from CMake to other build systems (such as qmake),
+:: so we enable it explicitly via the CL environment variable, see
+:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170
+set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1
+
+set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1"
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: create catkin cookie to make it is a catkin workspace
+ type NUL > %LIBRARY_PREFIX%\.catkin
+ :: keep the workspace activation scripts (e.g., local_setup.bat)
+ set CATKIN_BUILD_BINARY_PACKAGE_ARGS=
+)
+
+rd /s /q build
+mkdir build
+pushd build
+
+set SKIP_TESTING=ON
+
+cmake ^
+ -G "Ninja" ^
+ --compile-no-warning-as-error ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBoost_USE_STATIC_LIBS=OFF ^
+ %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^
+ -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-eigenpy" (
+ cmake --build . --config Release --target all --parallel 1
+ if errorlevel 1 exit 1
+) else (
+ cmake --build . --config Release --target all
+ if errorlevel 1 exit 1
+)
+
+if "%SKIP_TESTING%" == "OFF" (
+ cmake --build . --config Release --target run_tests
+ if errorlevel 1 exit 1
+)
+
+cmake --build . --config Release --target install
+if errorlevel 1 exit 1
+
+if "%PKG_NAME%" == "ros-jazzy-catkin" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ )
+)
+
+if "%PKG_NAME%" == "ros-jazzy-ros-workspace" (
+ :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+ :: This will allow them to be run on environment activation.
+ for %%F in (activate deactivate) DO (
+ if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d
+ copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat
+ copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1
+ )
+)
diff --git a/recipes/ros-jazzy-ur-client-library/build_catkin.sh b/recipes/ros-jazzy-ur-client-library/build_catkin.sh
new file mode 100755
index 00000000..5395dd85
--- /dev/null
+++ b/recipes/ros-jazzy-ur-client-library/build_catkin.sh
@@ -0,0 +1,138 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+CATKIN_BUILD_BINARY_PACKAGE="ON"
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # create catkin cookie to make it is a catkin workspace
+ touch $PREFIX/.catkin
+ # keep the workspace activation scripts (e.g., local_setup.bat)
+ CATKIN_BUILD_BINARY_PACKAGE="OFF"
+fi
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python $ROS_PYTHON_VERSION"
+# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
+FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
+echo "Using site-package dir ${FIXED_SP_DIR}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+ # way around bad CPU type issues
+ # rm $PREFIX/bin/doxygen || echo "doxygen not found"
+ # rm $PREFIX/bin/dia || echo "dia not found"
+ # rm $PREFIX/bin/dot || echo "dot not found"
+fi
+
+# NOTE: there might be undefined references occurring
+# in the Boost.system library, depending on the C++ versions
+# used to compile Boost. We can avoid them by forcing the use of
+# the header-only version of the library.
+export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
+ export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
+ # I am too scared to turn this on for now ...
+ # export LDFLAGS="$LDFLAGS -lrt";
+ # Some qt stuff uses g++ directly - fix these use cases
+ ln -s $GXX $BUILD_PREFIX/bin/g++
+fi
+
+export SKIP_TESTING=ON
+
+if [ "${PKG_NAME}" == "ros-noetic-euslisp" ] || [ "${PKG_NAME}" = "ros-noetic-jskeus" ] || [ "${PKG_NAME}" = "ros-noetic-roseus" ]; then
+ GENERATOR="Unix Makefiles"
+else
+ GENERATOR="Ninja"
+fi
+
+cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
+ -DCMAKE_FIND_FRAMEWORK=LAST \
+ -DCMAKE_AUTOMOC_EXECUTABLE=$CMAKE_AUTOMOC_EXECUTABLE \
+ -DBUILD_SHARED_LIBS=ON \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ -G "$GENERATOR" \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target all
+
+if [[ "$SKIP_TESTING" == "OFF" ]]; then
+ cmake --build . --config Release --target run_tests
+fi
+
+cmake --build . --config Release --target install
+
+if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then
+ for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
+ do
+ mkdir -p "${PREFIX}/etc/conda/activate.d"
+ cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
+ done
+fi
+
+if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then
+ # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+ # This will allow them to be run on environment activation.
+ for CHANGE in "activate" "deactivate"
+ do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+ done
+fi
diff --git a/recipes/ros-jazzy-ur-client-library/recipe.yaml b/recipes/ros-jazzy-ur-client-library/recipe.yaml
new file mode 100644
index 00000000..830c0786
--- /dev/null
+++ b/recipes/ros-jazzy-ur-client-library/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-client-library
+ version: 1.6.0
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_Client_Library-release.git
+ tag: release/jazzy/ur_client_library/1.6.0-1
+ target_directory: ros-jazzy-ur-client-library/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+tests:
+ - script:
+ - cmake-package-check ur_client_library --targets ur_client_library::urcl
+ requirements:
+ run:
+ - cmake-package-check
+ - ${{ compiler('c') }}
+ - ${{ compiler('cxx') }}
diff --git a/recipes/ros-jazzy-ur-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-ur-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-controllers/recipe.yaml b/recipes/ros-jazzy-ur-controllers/recipe.yaml
new file mode 100644
index 00000000..382e3b29
--- /dev/null
+++ b/recipes/ros-jazzy-ur-controllers/recipe.yaml
@@ -0,0 +1,126 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-controllers
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur_controllers/3.0.2-1
+ target_directory: ros-jazzy-ur-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-angles
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-controller-manager
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-ur-dashboard-msgs
+ - ros-jazzy-ur-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-angles
+ - ros-jazzy-control-msgs
+ - ros-jazzy-controller-interface
+ - ros-jazzy-generate-parameter-library
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-lifecycle-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rcutils
+ - ros-jazzy-realtime-tools
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-trajectory-msgs
+ - ros-jazzy-ur-dashboard-msgs
+ - ros-jazzy-ur-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-dashboard-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-dashboard-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-dashboard-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-dashboard-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-ur-dashboard-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-dashboard-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-dashboard-msgs/recipe.yaml b/recipes/ros-jazzy-ur-dashboard-msgs/recipe.yaml
new file mode 100644
index 00000000..b8b66e4c
--- /dev/null
+++ b/recipes/ros-jazzy-ur-dashboard-msgs/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-dashboard-msgs
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur_dashboard_msgs/3.0.2-1
+ target_directory: ros-jazzy-ur-dashboard-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-action-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-description/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-description/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-description/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-description/build_ament_cmake.sh b/recipes/ros-jazzy-ur-description/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-description/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-description/recipe.yaml b/recipes/ros-jazzy-ur-description/recipe.yaml
new file mode 100644
index 00000000..e0ed7364
--- /dev/null
+++ b/recipes/ros-jazzy-ur-description/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-description
+ version: 3.0.1
+source:
+ git: https://github.com/ros2-gbp/ur_description-release.git
+ tag: release/jazzy/ur_description/3.0.1-1
+ target_directory: ros-jazzy-ur-description/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - urdfdom
+ run:
+ - python
+ - ros-jazzy-joint-state-publisher-gui
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-urdf
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-moveit-config/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-moveit-config/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-moveit-config/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-moveit-config/build_ament_cmake.sh b/recipes/ros-jazzy-ur-moveit-config/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-moveit-config/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-moveit-config/recipe.yaml b/recipes/ros-jazzy-ur-moveit-config/recipe.yaml
new file mode 100644
index 00000000..ebe7c6ab
--- /dev/null
+++ b/recipes/ros-jazzy-ur-moveit-config/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-moveit-config
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur_moveit_config/3.0.2-1
+ target_directory: ros-jazzy-ur-moveit-config/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-moveit-configs-utils
+ - ros-jazzy-moveit-kinematics
+ - ros-jazzy-moveit-planners
+ - ros-jazzy-moveit-planners-chomp
+ - ros-jazzy-moveit-ros-move-group
+ - ros-jazzy-moveit-ros-visualization
+ - ros-jazzy-moveit-servo
+ - ros-jazzy-moveit-simple-controller-manager
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ur-description
+ - ros-jazzy-warehouse-ros-sqlite
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-ur-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-msgs/recipe.yaml b/recipes/ros-jazzy-ur-msgs/recipe.yaml
new file mode 100644
index 00000000..8fb91a0c
--- /dev/null
+++ b/recipes/ros-jazzy-ur-msgs/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-msgs
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/ur_msgs-release.git
+ tag: release/jazzy/ur_msgs/2.1.0-1
+ target_directory: ros-jazzy-ur-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-robot-driver/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-robot-driver/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-robot-driver/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-robot-driver/build_ament_cmake.sh b/recipes/ros-jazzy-ur-robot-driver/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-robot-driver/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-robot-driver/recipe.yaml b/recipes/ros-jazzy-ur-robot-driver/recipe.yaml
new file mode 100644
index 00000000..ecda9eba
--- /dev/null
+++ b/recipes/ros-jazzy-ur-robot-driver/recipe.yaml
@@ -0,0 +1,135 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-robot-driver
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur_robot_driver/3.0.2-1
+ target_directory: ros-jazzy-ur-robot-driver/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-manager
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-ur-client-library
+ - ros-jazzy-ur-controllers
+ - ros-jazzy-ur-dashboard-msgs
+ - ros-jazzy-ur-description
+ - ros-jazzy-ur-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-manager
+ - ros-jazzy-controller-manager-msgs
+ - ros-jazzy-force-torque-sensor-broadcaster
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-joint-state-broadcaster
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-joint-trajectory-controller
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-pluginlib
+ - ros-jazzy-pose-broadcaster
+ - ros-jazzy-position-controllers
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-lifecycle
+ - ros-jazzy-rclpy
+ - ros-jazzy-robot-state-publisher
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-controllers-test-nodes
+ - ros-jazzy-rviz2
+ - ros-jazzy-std-msgs
+ - ros-jazzy-std-srvs
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-ur-client-library
+ - ros-jazzy-ur-controllers
+ - ros-jazzy-ur-dashboard-msgs
+ - ros-jazzy-ur-description
+ - ros-jazzy-ur-msgs
+ - ros-jazzy-urdf
+ - ros-jazzy-velocity-controllers
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - socat
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur-simulation-gz/bld_ament_cmake.bat b/recipes/ros-jazzy-ur-simulation-gz/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur-simulation-gz/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur-simulation-gz/build_ament_cmake.sh b/recipes/ros-jazzy-ur-simulation-gz/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur-simulation-gz/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur-simulation-gz/recipe.yaml b/recipes/ros-jazzy-ur-simulation-gz/recipe.yaml
new file mode 100644
index 00000000..4d814ecb
--- /dev/null
+++ b/recipes/ros-jazzy-ur-simulation-gz/recipe.yaml
@@ -0,0 +1,101 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur-simulation-gz
+ version: 2.1.0
+source:
+ git: https://github.com/ros2-gbp/ur_simulation_gz-release.git
+ tag: release/jazzy/ur_simulation_gz/2.1.0-2
+ target_directory: ros-jazzy-ur-simulation-gz/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-launch-testing-ament-cmake
+ - ros-jazzy-launch-testing-ros
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - urdfdom
+ run:
+ - python
+ - ros-jazzy-gz-ros2-control
+ - ros-jazzy-joint-state-publisher
+ - ros-jazzy-launch
+ - ros-jazzy-launch-ros
+ - ros-jazzy-ros-gz-bridge
+ - ros-jazzy-ros-gz-sim
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rviz2
+ - ros-jazzy-ur-controllers
+ - ros-jazzy-ur-description
+ - ros-jazzy-ur-moveit-config
+ - ros-jazzy-urdf
+ - ros-jazzy-xacro
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-ur/bld_ament_cmake.bat b/recipes/ros-jazzy-ur/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-ur/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-ur/build_ament_cmake.sh b/recipes/ros-jazzy-ur/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-ur/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-ur/recipe.yaml b/recipes/ros-jazzy-ur/recipe.yaml
new file mode 100644
index 00000000..85b666b2
--- /dev/null
+++ b/recipes/ros-jazzy-ur/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-ur
+ version: 3.0.2
+source:
+ git: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git
+ tag: release/jazzy/ur/3.0.2-1
+ target_directory: ros-jazzy-ur/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ur-calibration
+ - ros-jazzy-ur-controllers
+ - ros-jazzy-ur-dashboard-msgs
+ - ros-jazzy-ur-moveit-config
+ - ros-jazzy-ur-robot-driver
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat b/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh b/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml b/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml
new file mode 100644
index 00000000..f563be53
--- /dev/null
+++ b/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-urdf-parser-plugin
+ version: 2.10.0
+source:
+ git: https://github.com/ros2-gbp/urdf-release.git
+ tag: release/jazzy/urdf_parser_plugin/2.10.0-3
+ target_directory: ros-jazzy-urdf-parser-plugin/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-urdf/bld_ament_cmake.bat b/recipes/ros-jazzy-urdf/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-urdf/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-urdf/build_ament_cmake.sh b/recipes/ros-jazzy-urdf/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-urdf/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-urdf/recipe.yaml b/recipes/ros-jazzy-urdf/recipe.yaml
new file mode 100644
index 00000000..35135a3e
--- /dev/null
+++ b/recipes/ros-jazzy-urdf/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-urdf
+ version: 2.10.0
+source:
+ git: https://github.com/ros2-gbp/urdf-release.git
+ tag: release/jazzy/urdf/2.10.0-3
+ target_directory: ros-jazzy-urdf/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-google-benchmark
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf-parser-plugin
+ - ros-jazzy-urdfdom
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-pluginlib
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tinyxml2-vendor
+ - ros-jazzy-urdf-parser-plugin
+ - ros-jazzy-urdfdom
+ - ros-jazzy-urdfdom-headers
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-velocity-controllers/bld_ament_cmake.bat b/recipes/ros-jazzy-velocity-controllers/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velocity-controllers/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velocity-controllers/build_ament_cmake.sh b/recipes/ros-jazzy-velocity-controllers/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velocity-controllers/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velocity-controllers/recipe.yaml b/recipes/ros-jazzy-velocity-controllers/recipe.yaml
new file mode 100644
index 00000000..473590ef
--- /dev/null
+++ b/recipes/ros-jazzy-velocity-controllers/recipe.yaml
@@ -0,0 +1,97 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velocity-controllers
+ version: 4.20.0
+source:
+ git: https://github.com/ros2-gbp/ros2_controllers-release.git
+ tag: release/jazzy/velocity_controllers/4.20.0-1
+ target_directory: ros-jazzy-velocity-controllers/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gmock
+ - ros-jazzy-backward-ros
+ - ros-jazzy-controller-manager
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-hardware-interface
+ - ros-jazzy-hardware-interface-testing
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-ros2-control-test-assets
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-backward-ros
+ - ros-jazzy-forward-command-controller
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-velodyne-driver/bld_ament_cmake.bat b/recipes/ros-jazzy-velodyne-driver/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-driver/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velodyne-driver/build_ament_cmake.sh b/recipes/ros-jazzy-velodyne-driver/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-driver/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velodyne-driver/recipe.yaml b/recipes/ros-jazzy-velodyne-driver/recipe.yaml
new file mode 100644
index 00000000..9293185b
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-driver/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velodyne-driver
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/velodyne-release.git
+ tag: release/jazzy/velodyne_driver/2.5.1-1
+ target_directory: ros-jazzy-velodyne-driver/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libpcap
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-velodyne-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libpcap
+ - python
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-velodyne-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-velodyne-laserscan/bld_ament_cmake.bat b/recipes/ros-jazzy-velodyne-laserscan/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-laserscan/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velodyne-laserscan/build_ament_cmake.sh b/recipes/ros-jazzy-velodyne-laserscan/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-laserscan/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velodyne-laserscan/recipe.yaml b/recipes/ros-jazzy-velodyne-laserscan/recipe.yaml
new file mode 100644
index 00000000..7ddcf38f
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-laserscan/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velodyne-laserscan
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/velodyne-release.git
+ tag: release/jazzy/velodyne_laserscan/2.5.1-1
+ target_directory: ros-jazzy-velodyne-laserscan/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-ros
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-velodyne-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-velodyne-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velodyne-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-velodyne-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velodyne-msgs/recipe.yaml b/recipes/ros-jazzy-velodyne-msgs/recipe.yaml
new file mode 100644
index 00000000..39d4b1a6
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-msgs/recipe.yaml
@@ -0,0 +1,92 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velodyne-msgs
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/velodyne-release.git
+ tag: release/jazzy/velodyne_msgs/2.5.1-1
+ target_directory: ros-jazzy-velodyne-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-velodyne-pointcloud/bld_ament_cmake.bat b/recipes/ros-jazzy-velodyne-pointcloud/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-pointcloud/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velodyne-pointcloud/build_ament_cmake.sh b/recipes/ros-jazzy-velodyne-pointcloud/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-pointcloud/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velodyne-pointcloud/recipe.yaml b/recipes/ros-jazzy-velodyne-pointcloud/recipe.yaml
new file mode 100644
index 00000000..a355f215
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne-pointcloud/recipe.yaml
@@ -0,0 +1,130 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velodyne-pointcloud
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/velodyne-release.git
+ tag: release/jazzy/velodyne_pointcloud/2.5.1-1
+ target_directory: ros-jazzy-velodyne-pointcloud/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - eigen
+ - libboost-devel
+ - numpy
+ - pcl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-index-cpp
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-angles
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-velodyne-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - yaml-cpp
+ - if: linux
+ then:
+ - libgl-devel
+ - libopengl-devel
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
+ run:
+ - eigen
+ - libboost-devel
+ - pcl
+ - python
+ - ros-jazzy-angles
+ - ros-jazzy-diagnostic-updater
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-message-filters
+ - ros-jazzy-rclcpp
+ - ros-jazzy-rclcpp-components
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-ros
+ - ros-jazzy-velodyne-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - vtk-base
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
+ - if: unix
+ then:
+ - xorg-libx11
+ - xorg-libxext
diff --git a/recipes/ros-jazzy-velodyne/bld_ament_cmake.bat b/recipes/ros-jazzy-velodyne/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-velodyne/build_ament_cmake.sh b/recipes/ros-jazzy-velodyne/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-velodyne/recipe.yaml b/recipes/ros-jazzy-velodyne/recipe.yaml
new file mode 100644
index 00000000..3333960e
--- /dev/null
+++ b/recipes/ros-jazzy-velodyne/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-velodyne
+ version: 2.5.1
+source:
+ git: https://github.com/ros2-gbp/velodyne-release.git
+ tag: release/jazzy/velodyne/2.5.1-1
+ target_directory: ros-jazzy-velodyne/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-velodyne-driver
+ - ros-jazzy-velodyne-laserscan
+ - ros-jazzy-velodyne-msgs
+ - ros-jazzy-velodyne-pointcloud
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-vision-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-vision-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-vision-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-vision-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-vision-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-vision-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-vision-msgs/recipe.yaml b/recipes/ros-jazzy-vision-msgs/recipe.yaml
new file mode 100644
index 00000000..c63f256e
--- /dev/null
+++ b/recipes/ros-jazzy-vision-msgs/recipe.yaml
@@ -0,0 +1,93 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-vision-msgs
+ version: 4.1.1
+source:
+ git: https://github.com/ros2-gbp/vision_msgs-release.git
+ tag: release/jazzy/vision_msgs/4.1.1-3
+ target_directory: ros-jazzy-vision-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-vision-opencv/bld_ament_cmake.bat b/recipes/ros-jazzy-vision-opencv/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-vision-opencv/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-vision-opencv/build_ament_cmake.sh b/recipes/ros-jazzy-vision-opencv/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-vision-opencv/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-vision-opencv/recipe.yaml b/recipes/ros-jazzy-vision-opencv/recipe.yaml
new file mode 100644
index 00000000..d1a7bd38
--- /dev/null
+++ b/recipes/ros-jazzy-vision-opencv/recipe.yaml
@@ -0,0 +1,86 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-vision-opencv
+ version: 4.1.0
+source:
+ git: https://github.com/ros2-gbp/vision_opencv-release.git
+ tag: release/jazzy/vision_opencv/4.1.0-1
+ target_directory: ros-jazzy-vision-opencv/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-cv-bridge
+ - ros-jazzy-image-geometry
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-visualization-msgs/recipe.yaml b/recipes/ros-jazzy-visualization-msgs/recipe.yaml
new file mode 100644
index 00000000..31b6a8f8
--- /dev/null
+++ b/recipes/ros-jazzy-visualization-msgs/recipe.yaml
@@ -0,0 +1,95 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-visualization-msgs
+ version: 5.3.5
+source:
+ git: https://github.com/ros2-gbp/common_interfaces-release.git
+ tag: release/jazzy/visualization_msgs/5.3.5-1
+ target_directory: ros-jazzy-visualization-msgs/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-generators
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-builtin-interfaces
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-rosidl-default-runtime
+ - ros-jazzy-sensor-msgs
+ - ros-jazzy-std-msgs
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-warehouse-ros-sqlite/bld_ament_cmake.bat b/recipes/ros-jazzy-warehouse-ros-sqlite/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros-sqlite/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-warehouse-ros-sqlite/build_ament_cmake.sh b/recipes/ros-jazzy-warehouse-ros-sqlite/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros-sqlite/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-warehouse-ros-sqlite/recipe.yaml b/recipes/ros-jazzy-warehouse-ros-sqlite/recipe.yaml
new file mode 100644
index 00000000..4b20e7b5
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros-sqlite/recipe.yaml
@@ -0,0 +1,99 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-warehouse-ros-sqlite
+ version: 1.0.5
+source:
+ git: https://github.com/ros2-gbp/warehouse_ros_sqlite-release.git
+ tag: release/jazzy/warehouse_ros_sqlite/1.0.5-1
+ target_directory: ros-jazzy-warehouse-ros-sqlite/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-cmake-gtest
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-class-loader
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sqlite3-vendor
+ - ros-jazzy-warehouse-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - ros-jazzy-class-loader
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-sqlite3-vendor
+ - ros-jazzy-warehouse-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-warehouse-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-warehouse-ros/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-warehouse-ros/build_ament_cmake.sh b/recipes/ros-jazzy-warehouse-ros/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-warehouse-ros/recipe.yaml b/recipes/ros-jazzy-warehouse-ros/recipe.yaml
new file mode 100644
index 00000000..376f2f7c
--- /dev/null
+++ b/recipes/ros-jazzy-warehouse-ros/recipe.yaml
@@ -0,0 +1,106 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-warehouse-ros
+ version: 2.0.5
+source:
+ git: https://github.com/ros2-gbp/warehouse_ros-release.git
+ tag: release/jazzy/warehouse_ros/2.0.5-1
+ target_directory: ros-jazzy-warehouse-ros/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libboost-devel
+ - libboost-python-devel
+ - numpy
+ - openssl
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-copyright
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - libboost-devel
+ - libboost-python-devel
+ - openssl
+ - python
+ - ros-jazzy-geometry-msgs
+ - ros-jazzy-pluginlib
+ - ros-jazzy-rclcpp
+ - ros-jazzy-ros-workspace
+ - ros-jazzy-std-msgs
+ - ros-jazzy-tf2
+ - ros-jazzy-tf2-geometry-msgs
+ - ros-jazzy-tf2-ros
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-xacro/bld_ament_cmake.bat b/recipes/ros-jazzy-xacro/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-xacro/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-xacro/build_ament_cmake.sh b/recipes/ros-jazzy-xacro/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-xacro/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-xacro/recipe.yaml b/recipes/ros-jazzy-xacro/recipe.yaml
new file mode 100644
index 00000000..6ee3eaca
--- /dev/null
+++ b/recipes/ros-jazzy-xacro/recipe.yaml
@@ -0,0 +1,91 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-xacro
+ version: 2.0.11
+source:
+ git: https://github.com/ros2-gbp/xacro-release.git
+ tag: release/jazzy/xacro/2.0.11-2
+ target_directory: ros-jazzy-xacro/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - pyyaml
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-pytest
+ - ros-jazzy-ament-cmake-python
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ run:
+ - python
+ - pyyaml
+ - ros-jazzy-ament-index-python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-yaml-cpp-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-yaml-cpp-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-yaml-cpp-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-yaml-cpp-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-yaml-cpp-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-yaml-cpp-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-yaml-cpp-vendor/recipe.yaml b/recipes/ros-jazzy-yaml-cpp-vendor/recipe.yaml
new file mode 100644
index 00000000..bda55c27
--- /dev/null
+++ b/recipes/ros-jazzy-yaml-cpp-vendor/recipe.yaml
@@ -0,0 +1,87 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-yaml-cpp-vendor
+ version: 9.0.1
+source:
+ git: https://github.com/ros2-gbp/yaml_cpp_vendor-release.git
+ tag: release/jazzy/yaml_cpp_vendor/9.0.1-1
+ target_directory: ros-jazzy-yaml-cpp-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml-cpp
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - yaml-cpp
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-zenoh-cpp-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-zenoh-cpp-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-zenoh-cpp-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-zenoh-cpp-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-zenoh-cpp-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-zenoh-cpp-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-zenoh-cpp-vendor/patch/ros-jazzy-zenoh-cpp-vendor.patch b/recipes/ros-jazzy-zenoh-cpp-vendor/patch/ros-jazzy-zenoh-cpp-vendor.patch
new file mode 100644
index 00000000..85d229c0
--- /dev/null
+++ b/recipes/ros-jazzy-zenoh-cpp-vendor/patch/ros-jazzy-zenoh-cpp-vendor.patch
@@ -0,0 +1,42 @@
+diff --git a/zenoh_cpp_vendor/CMakeLists.txt b/zenoh_cpp_vendor/CMakeLists.txt
+index 2d3ae046..de971841 100644
+--- a/zenoh_cpp_vendor/CMakeLists.txt
++++ b/zenoh_cpp_vendor/CMakeLists.txt
+@@ -10,35 +10,10 @@ endif()
+ find_package(ament_cmake REQUIRED)
+ find_package(ament_cmake_vendor_package REQUIRED)
+
+-# Disable default features and enable only the most useful ones. This reduces build time and footprint.
+-# For a complete list of features see: https://github.com/eclipse-zenoh/zenoh/blob/main/zenoh/Cargo.toml
+-# Note: We separate the two args needed for cargo with "$" and not ";" as the
+-# latter is a list separater in cmake and hence the string will be split into two
+-# when expanded.
+-set(ZENOHC_CARGO_FLAGS "--no-default-features$--features=shared-memory zenoh/transport_compression zenoh/transport_tcp zenoh/transport_tls")
+-
+-ament_vendor(zenoh_c_vendor
+- VCS_URL https://github.com/eclipse-zenoh/zenoh-c.git
+- VCS_VERSION 57d5e4d31d9b38fef34d7bcad3d3e54869c4ce73
+- CMAKE_ARGS
+- "-DZENOHC_CARGO_FLAGS=${ZENOHC_CARGO_FLAGS}"
+- "-DZENOHC_BUILD_WITH_UNSTABLE_API=TRUE"
+- "-DZENOHC_CUSTOM_TARGET=${ZENOHC_CUSTOM_TARGET}"
+-)
+-
++find_package(zenohc REQUIRED)
+ ament_export_dependencies(zenohc)
+
+-# Set VCS_VERSION to include latest changes from zenoh-c to benefit from :
+-# - https://github.com/eclipse-zenoh/zenoh-cpp/pull/342 (Fix include what you use)
+-ament_vendor(zenoh_cpp_vendor
+- VCS_URL https://github.com/eclipse-zenoh/zenoh-cpp
+- VCS_VERSION 964b64dc8b935a43147287199e7bb12da7b141e6
+- CMAKE_ARGS
+- -DZENOHCXX_ZENOHC=OFF
+-)
+-
+-externalproject_add_stepdependencies(zenoh_cpp_vendor configure zenoh_c_vendor)
+-
++find_package(zenohcxx REQUIRED)
+ ament_export_dependencies(zenohcxx)
+
+ ament_package()
diff --git a/recipes/ros-jazzy-zenoh-cpp-vendor/recipe.yaml b/recipes/ros-jazzy-zenoh-cpp-vendor/recipe.yaml
new file mode 100644
index 00000000..e877db57
--- /dev/null
+++ b/recipes/ros-jazzy-zenoh-cpp-vendor/recipe.yaml
@@ -0,0 +1,96 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-zenoh-cpp-vendor
+ version: 0.2.0
+source:
+ git: https://github.com/ros2-gbp/rmw_zenoh-release.git
+ tag: release/jazzy/zenoh_cpp_vendor/0.2.0-1
+ target_directory: ros-jazzy-zenoh-cpp-vendor/src/work
+ patches:
+ - patch/ros-jazzy-zenoh-cpp-vendor.patch
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ - if: build_platform != target_platform
+ then:
+ - git
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - libzenohc
+ - libzenohcxx
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - rust
+ - if: build_platform == target_platform
+ then:
+ - git
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-zstd-image-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-zstd-image-transport/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-image-transport/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-zstd-image-transport/build_ament_cmake.sh b/recipes/ros-jazzy-zstd-image-transport/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-image-transport/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-zstd-image-transport/recipe.yaml b/recipes/ros-jazzy-zstd-image-transport/recipe.yaml
new file mode 100644
index 00000000..7b746fa1
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-image-transport/recipe.yaml
@@ -0,0 +1,90 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-zstd-image-transport
+ version: 4.0.3
+source:
+ git: https://github.com/ros2-gbp/image_transport_plugins-release.git
+ tag: release/jazzy/zstd_image_transport/4.0.3-1
+ target_directory: ros-jazzy-zstd-image-transport/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-lint-auto
+ - ros-jazzy-ament-lint-common
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zlib
+ run:
+ - python
+ - ros-jazzy-image-transport
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zlib
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros-jazzy-zstd-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-zstd-vendor/bld_ament_cmake.bat
new file mode 100755
index 00000000..823afff1
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-vendor/bld_ament_cmake.bat
@@ -0,0 +1,52 @@
+:: Generated by vinca http://github.com/RoboStack/vinca.
+:: DO NOT EDIT!
+setlocal EnableDelayedExpansion
+
+set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
+
+:: MSVC is preferred.
+set CC=cl.exe
+set CXX=cl.exe
+
+rd /s /q build
+mkdir build
+pushd build
+
+:: set "CMAKE_GENERATOR=Ninja"
+:: We use the Visual Studio generator as a workaround for
+:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
+:: Once those are solved, we can switch back to use Ninja
+set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
+
+:: PYTHON_INSTALL_DIR should be a relative path, see
+:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
+:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
+:: python
+
+:: This line is scary, but it basically assigns the output of the command inside (` and `)
+:: to the variable specified after DO SET
+:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
+FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
+
+cmake ^
+ -G "%CMAKE_GENERATOR%" ^
+ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
+ -DPYTHON_EXECUTABLE=%PYTHON% ^
+ -DPython_EXECUTABLE=%PYTHON% ^
+ -DPython3_EXECUTABLE=%PYTHON% ^
+ -DSETUPTOOLS_DEB_LAYOUT=OFF ^
+ -DBUILD_SHARED_LIBS=ON ^
+ -DBUILD_TESTING=OFF ^
+ -DCMAKE_OBJECT_PATH_MAX=255 ^
+ --compile-no-warning-as-error ^
+ -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
+ %SRC_DIR%\%PKG_NAME%\src\work
+if errorlevel 1 exit 1
+
+:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
+:: see the comment before setting the CMAKE_GENERATOR env variable
+cmake --build . --config Release --parallel %CPU_COUNT% --target install
+if errorlevel 1 exit 1
diff --git a/recipes/ros-jazzy-zstd-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-zstd-vendor/build_ament_cmake.sh
new file mode 100755
index 00000000..34df1a72
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-vendor/build_ament_cmake.sh
@@ -0,0 +1,84 @@
+# Generated by vinca http://github.com/RoboStack/vinca.
+# DO NOT EDIT!
+
+set -eo pipefail
+
+rm -rf build
+mkdir build
+cd build
+
+# necessary for correctly linking SIP files (from python_qt_bindings)
+export LINK=$CXX
+
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
+ PYTHON_EXECUTABLE=$PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="10.15"
+else
+ PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
+ PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
+ OSX_DEPLOYMENT_TARGET="11.0"
+fi
+
+if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
+ export QT_HOST_PATH="$BUILD_PREFIX"
+else
+ export QT_HOST_PATH="$PREFIX"
+fi
+
+echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
+echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"
+
+export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
+echo "Using Python ${ROS_PYTHON_VERSION}"
+
+# see https://github.com/conda-forge/cross-python-feedstock/issues/24
+if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true
+ find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
+fi
+
+if [[ $target_platform =~ linux.* ]]; then
+ export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1"
+ export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1"
+fi;
+
+# Needed for qt-gui-cpp ..
+if [[ $target_platform =~ linux.* ]]; then
+ ln -s $GCC ${BUILD_PREFIX}/bin/gcc
+ ln -s $GXX ${BUILD_PREFIX}/bin/g++
+fi;
+
+# PYTHON_INSTALL_DIR should be a relative path, see
+# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
+# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX,
+# but it is not trivial to do this in bash scripting, so let's do it via python
+export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"`
+echo "Using site_packages: $PYTHON_INSTALL_DIR"
+
+cmake \
+ -G "Ninja" \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
+ -DCMAKE_PREFIX_PATH=$PREFIX \
+ -DAMENT_PREFIX_PATH=$PREFIX \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
+ -DPython3_FIND_STRATEGY=LOCATION \
+ -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
+ -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DCATKIN_SKIP_TESTING=$SKIP_TESTING \
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
+ --compile-no-warning-as-error \
+ $SRC_DIR/$PKG_NAME/src/work
+
+cmake --build . --config Release --target install
diff --git a/recipes/ros-jazzy-zstd-vendor/recipe.yaml b/recipes/ros-jazzy-zstd-vendor/recipe.yaml
new file mode 100644
index 00000000..af45b780
--- /dev/null
+++ b/recipes/ros-jazzy-zstd-vendor/recipe.yaml
@@ -0,0 +1,88 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
+
+package:
+ name: ros-jazzy-zstd-vendor
+ version: 0.26.6
+source:
+ git: https://github.com/ros2-gbp/rosbag2-release.git
+ tag: release/jazzy/zstd_vendor/0.26.6-1
+ target_directory: ros-jazzy-zstd-vendor/src/work
+
+build:
+ script: ${{ '$RECIPE_DIR/build_ament_cmake.sh' if unix else '%RECIPE_DIR%\\bld_ament_cmake.bat' }}
+ number: 4
+ post_process:
+ - files:
+ - '*.pc'
+ regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
+ replacement: $$(CONDA_BUILD_SYSROOT_S)
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/sysroot)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+ - files:
+ - '*.cmake'
+ regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
+ replacement: $$ENV{CONDA_BUILD_SYSROOT}
+about:
+ homepage: https://www.ros.org/
+ license: BSD-3-Clause
+ summary: |
+ Robot Operating System
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
+requirements:
+ build:
+ - ${{ compiler('cxx') }}
+ - ${{ compiler('c') }}
+ - ${{ stdlib('c') }}
+ - ninja
+ - python
+ - setuptools
+ - git
+ - if: unix
+ then:
+ - patch
+ - make
+ - coreutils
+ - if: win
+ then:
+ - m2-patch
+ - if: osx
+ then:
+ - tapi
+ - if: build_platform != target_platform
+ then:
+ - pkg-config
+ - cmake
+ - cython
+ - if: build_platform != target_platform
+ then:
+ - python
+ - cross-python_${{ target_platform }}
+ - numpy
+ host:
+ - ${{ 'zstd-static' if not win }}
+ - if: build_platform == target_platform
+ then:
+ - pkg-config
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake
+ - ros-jazzy-ament-cmake-vendor-package
+ - ros-jazzy-ros-environment
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zstd
+ run:
+ - python
+ - ros-jazzy-ros-workspace
+ - ros2-distro-mutex 0.7.* jazzy_*
+ - zstd
+ - if: osx and x86_64
+ then:
+ - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
diff --git a/recipes/ros2-distro-mutex/recipe.yaml b/recipes/ros2-distro-mutex/recipe.yaml
new file mode 100644
index 00000000..c3dcef77
--- /dev/null
+++ b/recipes/ros2-distro-mutex/recipe.yaml
@@ -0,0 +1,52 @@
+package:
+ name: ros2-distro-mutex
+ version: 0.7.0
+
+build:
+ number: 0
+ # Note: keep in sync with build number
+ # Cannot be done automatically, see https://github.com/mamba-org/boa/issues/278
+ string: jazzy_0
+
+requirements:
+ # NOTE:
+ # The idea with automatically adding versions to run_exports doesn't
+ # work since we don't want all these dependencies as run deps of all ROS
+ # packages. Therefore I am currently manually adding them to run_constrained.
+ # This has to be synchronized with our current conda_build_config all the time :(
+ # host:
+ # # values here should
+ # - log4cxx
+ # - poco
+ # - pcl
+ # - opencv
+ # - gazebo
+ # - ogre
+ # - qt
+ # run:
+ # values here should be applied from run_exports!
+ # if the upstream package does not have run_exports
+ # please change it in the conda_build_config.yaml!
+ run_constraints:
+ - libboost 1.86.*
+ - libboost-devel 1.86.*
+ - pcl 1.14.1.*
+ - gazebo 11.*
+ - libprotobuf 5.28.3.*
+
+ run_exports:
+ weak:
+ - ${{ pin_subpackage('ros2-distro-mutex', upper_bound='x.x') }}
+
+
+about:
+ homepage: https://github.com/robostack/ros-jazzy
+ license: BSD-3-Clause
+ summary: |
+ The ROS2 distro mutex. To switch between ROS2 versions, you need to change the mutex.
+ E.g. mamba install ros2-distro-mutex=*=jazzy to switch to jazzy.
+
+extra:
+ recipe-maintainers:
+ - ros-forge
+
diff --git a/vinca.yaml b/vinca.yaml
new file mode 100644
index 00000000..1ede6068
--- /dev/null
+++ b/vinca.yaml
@@ -0,0 +1,90 @@
+ros_distro: jazzy
+
+# mapping for package keys
+conda_index:
+ - robostack.yaml
+ - packages-ignore.yaml
+
+# Reminder for next full rebuild, the next build number should be 4
+build_number: 4
+
+mutex_package: ros2-distro-mutex 0.7.* jazzy_*
+
+skip_all_deps: false
+
+# If full rebuild, the build number of the existing package has
+# to match the selected build number for skipping
+full_rebuild: true
+
+packages_skip_by_deps:
+ - cartographer
+ - urdfdom
+ - urdfdom_headers
+ - urdfdom_py
+
+packages_remove_from_deps:
+ - cartographer
+
+skip_existing:
+ # - output
+ - https://conda.anaconda.org/robostack-jazzy/
+
+packages_select_by_deps:
+ - ament_cmake_core
+ - ament_cmake_catch2
+
+ - desktop
+ - ros_base
+ - ros_environment
+ - ros_workspace
+ - dev_tools
+ - diagnostics
+ - teleop
+ - robot
+ - perception
+ - navigation2
+ - simulation
+ - desktop_full
+
+ - moveit
+ - moveit-planners-chomp
+ - moveit-servo
+ - moveit-visual-tools
+
+ - ros2_control
+ - ros2_controllers
+ - gz_ros2_control
+ - gz_ros2_control_demos
+
+ - rviz_visual_tools
+
+ - ur
+ - ur_simulation_gz
+
+ - ros_gz
+ - slam_toolbox
+ - turtlebot3
+
+ - plotjuggler-ros
+
+ - apriltag_ros
+
+ - ackermann-msgs
+ - velodyne
+ - sbg_driver
+ - gtsam
+
+ # requested in https://github.com/RoboStack/ros-humble/issues/249
+ - twist_mux
+
+ # requested in https://github.com/RoboStack/ros-humble/issues/252
+ - rmw_zenoh_cpp
+
+ - flex_sync
+
+ - ament_cmake_mypy
+ - rosbridge_suite
+
+
+patch_dir: patch
+rosdistro_snapshot: rosdistro_snapshot.yaml
diff --git a/vinca_d724881b88.json b/vinca_d724881b88.json
new file mode 100644
index 00000000..cebfbe5e
--- /dev/null
+++ b/vinca_d724881b88.json
@@ -0,0 +1 @@
+{"packages":{},"packages.conda":{"ros-jazzy-ament-package-0.16.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["importlib-metadata","importlib_resources","python","ros2-distro-mutex 0.6.* jazzy_*","setuptools","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109658583,"md5":"5c67060a27d99cc257a3ffe2b0352962","name":"ros-jazzy-ament-package","requires":[],"size":42998,"version":"0.16.3","binstar":{"package_id":"6674a0880ec0a9de7a21416c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14833d24da2d8772dbabdead906cb51e7b202a43766a58f1785bd80b40b7be3b"},"ros2-distro-mutex-0.6.0-jazzy_0.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"jazzy_0","build_number":0,"constrains":["libboost 1.86.*","libboost-devel 1.86.*","pcl 1.14.1.*","gazebo 11.*","libprotobuf 5.28.2.*"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109488002,"md5":"00d60874d3cbc20ae9f427c1d40929b9","name":"ros2-distro-mutex","requires":[],"depends":[],"size":2418,"version":"0.6.0","binstar":{"package_id":"6674a08a15fc1c937921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c8f1c61efeef9cfb0e65aafdc3ae7148e17460baddcc86b95cb351f0d597d68a"},"ros-jazzy-ament-cmake-core-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","cmake","python","ros-jazzy-ament-package","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109840375,"md5":"816fb190a38372ad9f41bce58f320757","name":"ros-jazzy-ament-cmake-core","requires":[],"size":43716,"version":"2.5.3","binstar":{"package_id":"6674a0d7b557d1c73d6af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"892ac30fdbe87fe50fd44f0373a466bc5dd2b75b6e15a4a918903a699bfb919c"},"ros-jazzy-ros-environment-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110016301,"md5":"57f1af51bc96f18868e4158b3149ab89","name":"ros-jazzy-ros-environment","requires":[],"size":19781,"version":"4.2.1","binstar":{"package_id":"6674a0d952b92cb4069dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"63418852ff447278ff8152c580f0fb8cae9640cf988c230a5c404039bcfa0201"},"ros-jazzy-ros-workspace-1.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110008505,"md5":"63c807a21441f6b7a0dd12782dd48177","name":"ros-jazzy-ros-workspace","requires":[],"size":34418,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"af69c5ad070a8caca4f04b136ca0b907e949d3addf79c8a9a698a8572601d2d2"},"ros-jazzy-ros-workspace-1.0.3-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1737495942889,"md5":"9a97fbf33bef602af6e33d79a25d18d3","name":"ros-jazzy-ros-workspace","requires":[],"size":35479,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aaed54eac17fbc9e59f2114e6334cd4533915b05a889f270c0c61dcffbf33a0d"},"ros-jazzy-iceoryx-hoofs-2.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libacl","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libacl >=2.3.2,<2.4.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110193345,"md5":"6e5129decfa47e2a8aa4bf2f84ab93bc","name":"ros-jazzy-iceoryx-hoofs","requires":[],"size":265641,"version":"2.0.6","binstar":{"package_id":"6674a1224ef4ab0e17883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6cbc247e0c0054265f4585cc403b10ea57ffe39e4d444b3f5645e724d6c2bfb2"},"ros-jazzy-urdfdom-headers-1.1.2-he8cfe8b_0.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"he8cfe8b_0","build_number":0,"depends":["urdfdom_headers ==1.1.2","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109487315,"md5":"df7adbe44c2e680baa80756a0be790a6","name":"ros-jazzy-urdfdom-headers","requires":[],"size":1889,"version":"1.1.2","binstar":{"package_id":"6674a123ff4752325d57944d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"50d600921ca677b11072192ff3bfc5fdf6506faa28d5c78a1f21019e734fe05d"},"ros-jazzy-ament-cmake-include-directories-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110196180,"md5":"7ad1987a23ed60c05a13146fbf61f8b2","name":"ros-jazzy-ament-cmake-include-directories","requires":[],"size":20285,"version":"2.5.3","binstar":{"package_id":"6674a1307aab843f03579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8049ab7286401719c3cb3677f2d5c8715960653b3057605db1143798951a8665"},"ros-jazzy-ament-cmake-export-definitions-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110191124,"md5":"2adc01c94b71047c4071156a3e704b79","name":"ros-jazzy-ament-cmake-export-definitions","requires":[],"size":20465,"version":"2.5.3","binstar":{"package_id":"6674a13266b718689c44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c9c04e7ebb7a1ebfc03ef5a13f36a730d10bd88ec9e207dca8afe83269164d8c"},"ros-jazzy-ament-cmake-libraries-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110187078,"md5":"f90e6aadfefcfa1f751e68901d6c7c43","name":"ros-jazzy-ament-cmake-libraries","requires":[],"size":19991,"version":"2.5.3","binstar":{"package_id":"6674a133bf586e21d26af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3155681af9a2244176cffb4d771ae0208a28fe2ea938bfab5d8a7546427cf46c"},"ros-jazzy-ament-cmake-export-include-directories-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110191089,"md5":"e7464126df07c975b48bee6f40971f9b","name":"ros-jazzy-ament-cmake-export-include-directories","requires":[],"size":20893,"version":"2.5.3","binstar":{"package_id":"6674a1348eba59d71d44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e5ec844440ee88ae4a3c58c95a25f744ee9d9f4563b61f2b877794bdc01b2135"},"ros-jazzy-ament-cmake-python-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110188161,"md5":"68ca12daff72f661dba585294ac60b6e","name":"ros-jazzy-ament-cmake-python","requires":[],"size":22566,"version":"2.5.3","binstar":{"package_id":"6674a134fda12eef0045c4f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"285638643a405e4cc8bd865256a42429060d9c11662da574678a496b6ff3b7d9"},"ros-jazzy-ament-cmake-export-libraries-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110190826,"md5":"6134540558df5643620f765f27673922","name":"ros-jazzy-ament-cmake-export-libraries","requires":[],"size":22386,"version":"2.5.3","binstar":{"package_id":"6674a135751ba5b24b21416e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4c5cec5d49a6d9ea964374103879e10a05d479154af5f61222789c8614e89cd0"},"ros-jazzy-ament-lint-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110188813,"md5":"f931e6529e5bb006cdf6dfc16fe26623","name":"ros-jazzy-ament-lint","requires":[],"size":16842,"version":"0.17.1","binstar":{"package_id":"6674a1357f5cc3d27f45c4f6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"edf748df9aa0ebeace5664c03c40d212bac74f58b597961e4f940bb59b0c48e4"},"ros-jazzy-gtest-vendor-1.14.9000-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110189481,"md5":"d0311e309f6189ce620fc1d579cda3f6","name":"ros-jazzy-gtest-vendor","requires":[],"size":207964,"version":"1.14.9000","binstar":{"package_id":"6674a136b5589307ae1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"91cf3a21fd022636ece857b06769cb0b9b0cc0a1ae5fbd911cfa6e3b7e255d5a"},"ros-jazzy-ament-cmake-export-link-flags-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110204592,"md5":"e9fcfd7bce88765b8c5c4562644be094","name":"ros-jazzy-ament-cmake-export-link-flags","requires":[],"size":20391,"version":"2.5.3","binstar":{"package_id":"6674a137a34cc3f166a7ce6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c1ae21a92c440066666fead055758003a80e7b67cdf5c5461c71ddd76804f398"},"ros-jazzy-ament-cmake-version-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110189718,"md5":"84705a6aeeec52d2eb9451bc392744bc","name":"ros-jazzy-ament-cmake-version","requires":[],"size":20166,"version":"2.5.3","binstar":{"package_id":"6674a13adbc9a5ddb5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f52a36bc5d601a8260228b462d1d73aca3e0f23659354fe499537af5a0bba57e"},"ros-jazzy-ament-pycodestyle-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pycodestyle","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110192143,"md5":"7d8169e8fdda2680ad9fd35aabaf8a56","name":"ros-jazzy-ament-pycodestyle","requires":[],"size":22241,"version":"0.17.1","binstar":{"package_id":"6674a143f1e91f8ddc6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"75d454b9cc16372c6b10c03f5757d7382859cd2075cff02b21b7b1fe087d90e6"},"ros-jazzy-google-benchmark-vendor-0.5.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["benchmark","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110192698,"md5":"8afbbfad1d6d61a2274e846555640c7d","name":"ros-jazzy-google-benchmark-vendor","requires":[],"size":15308,"version":"0.5.0","binstar":{"package_id":"6674a145d25c322a2e1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3e9242be65bc45ed06eed48dc72d163d815271ad06cda0fdfca44ac47a7a068c"},"ros-jazzy-osrf-pycommon-2.1.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110192564,"md5":"c8ae29998f41ef7fb000dad7f63c8606","name":"ros-jazzy-osrf-pycommon","requires":[],"size":65113,"version":"2.1.5","binstar":{"package_id":"6674a14ad8010e9cee1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"161b8171bb38e8b8aed13b3d1421473806c7643189f362f68ff8f89a61dacbe1"},"ros-jazzy-osrf-testing-tools-cpp-2.0.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110195775,"md5":"30ec25ae44e7abeede1e63cdaeebfacb","name":"ros-jazzy-osrf-testing-tools-cpp","requires":[],"size":5132213,"version":"2.0.0","binstar":{"package_id":"6674a14c1aea3d65a045c4f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c00f8a23cf975987e523c8f6881bd6127f2ccd1e612abaf368dbbeb9f11f6d0d"},"ros-jazzy-test-interface-files-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110195941,"md5":"5e0f5a2c5dbb8dd883dd5e37a72804e3","name":"ros-jazzy-test-interface-files","requires":[],"size":22289,"version":"0.11.0","binstar":{"package_id":"6674a14e3ca8a6ae9e883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9f49ec9c091b91f2478426c0fe0a84ff5e4125f20f1b9ff5aeb8652907c4e6d2"},"ros-jazzy-ament-cmake-export-dependencies-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110902892,"md5":"c877a65187b4b3b246f5224e78876fbe","name":"ros-jazzy-ament-cmake-export-dependencies","requires":[],"size":21357,"version":"2.5.3","binstar":{"package_id":"6674a1a7d6a022a9b921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0c277258b5abb4976b7c5a80f31b37dfdc9ace4945429e8a86ea023567c4c757"},"ros-jazzy-ament-cmake-export-targets-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110898691,"md5":"e7804802dae6dbbf5b5d1d5cf3874fd0","name":"ros-jazzy-ament-cmake-export-targets","requires":[],"size":21199,"version":"2.5.3","binstar":{"package_id":"6674a1a8c42c2ed11157944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5abfa5d76455f39b758c157fb9402a8ccb1c5e7f9b568e46d39def45296bcdba"},"ros-jazzy-ament-cmake-target-dependencies-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-include-directories","ros-jazzy-ament-cmake-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110900465,"md5":"887c5c8fa084317204bccede53c99171","name":"ros-jazzy-ament-cmake-target-dependencies","requires":[],"size":22002,"version":"2.5.3","binstar":{"package_id":"6674a1a9b557d1c73d6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"127f30996180c7010ae75373de6af9b930f12a6ae4b4fb6c6524993fb54d63bf"},"ros-jazzy-ament-cmake-test-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110898999,"md5":"a83a125eb94a341761eb682f24cc9e3c","name":"ros-jazzy-ament-cmake-test","requires":[],"size":35211,"version":"2.5.3","binstar":{"package_id":"6674a1aa83e518de36a7ce6c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7a597494eb38cfa3aa7a8fc5edeb67d413becb69fcb06557f982fb49929bd0f3"},"ros-jazzy-ament-flake8-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["flake8","flake8-builtins","flake8-comprehensions","flake8-docstrings","flake8-import-order","flake8-quotes","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110892929,"md5":"a27cdaf853fda9b75c11a2522c83700c","name":"ros-jazzy-ament-flake8","requires":[],"size":28287,"version":"0.17.1","binstar":{"package_id":"6674a1ac189b62b6cff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"343338af3464eb02d2603b5198aa03c8790850252426f1d04dc06f7fc86ba9f5"},"ros-jazzy-ament-cmake-export-interfaces-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110900089,"md5":"aa6412aeeb4002e4879fac3def51dda1","name":"ros-jazzy-ament-cmake-export-interfaces","requires":[],"size":21062,"version":"2.5.3","binstar":{"package_id":"6674a1c372cb57ea62f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a7ad4bebc5b52d4adbf45ca26397fa8770b286b93911e7b8095fc435bda9cc53"},"ros-jazzy-gmock-vendor-1.14.9000-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110897059,"md5":"2aba505ff27f3d5db97773e09983a8ee","name":"ros-jazzy-gmock-vendor","requires":[],"size":121601,"version":"1.14.9000","binstar":{"package_id":"6674a1c589a9c37693883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f279d267907ba4f49184c77ae261cb1199a6430ee9dbf4b3c8a7cdd3d28d784"},"ros-jazzy-iceoryx-posh-2.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-iceoryx-hoofs","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110922847,"md5":"3a535b2f028df283bb576951a589f043","name":"ros-jazzy-iceoryx-posh","requires":[],"size":582063,"version":"2.0.6","binstar":{"package_id":"6674a1c772ad0f0ae5a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"28e9c0229b70fce297917614076ca9fe9d8485f6bb09003f2ebb8977b57fc699"},"ros-jazzy-ament-cmake-google-benchmark-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-google-benchmark-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111269521,"md5":"1f09e980172769f61120942fb402a65c","name":"ros-jazzy-ament-cmake-google-benchmark","requires":[],"size":30203,"version":"2.5.3","binstar":{"package_id":"6674a213aba19321c6f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a696b6b4e4650cf5af864379893044df93dd0a73bd1db08f98c2c2fcb8eafac"},"ros-jazzy-ament-cmake-pytest-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pytest","python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111246453,"md5":"d3f989b20a4945399bf8d253d7beaebc","name":"ros-jazzy-ament-cmake-pytest","requires":[],"size":23101,"version":"2.5.3","binstar":{"package_id":"6674a21417bbcfe6d5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ee83441fae3e3fa683211f0d4f6012121c500fe9a4e0ea32670af9b1e8880854"},"ros-jazzy-iceoryx-binding-c-2.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111265397,"md5":"5919b468db3d176dc2a707e847f97352","name":"ros-jazzy-iceoryx-binding-c","requires":[],"size":90239,"version":"2.0.6","binstar":{"package_id":"6674a21572cb57ea62f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5350e7eb16f323f8950f889324f98396c7b7089551a980d7fb858b029d31aa97"},"ros-jazzy-ament-cmake-gtest-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gtest","python","ros-jazzy-ament-cmake-test","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","gtest >=1.15.2,<1.15.3.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111245178,"md5":"d450b0bf9259886ab7e8946f140ba421","name":"ros-jazzy-ament-cmake-gtest","requires":[],"size":23036,"version":"2.5.3","binstar":{"package_id":"6674a21d86c5f0ddff44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f85d51d783837c39543bf8bed8c3584874b090c494cf8de5629591360e71df91"},"ros-jazzy-ament-cmake-vendor-package-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["git","python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-dependencies","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","vcstool","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111244757,"md5":"628fbaf10df13974edc271b400a6021c","name":"ros-jazzy-ament-cmake-vendor-package","requires":[],"size":26571,"version":"2.5.3","binstar":{"package_id":"6674a21ede26c9d519883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f85d1fdd311fea88e14a15c345baf7b1f247f056a9da7ca8c583f55e7def200"},"ros-jazzy-ament-lint-auto-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111248204,"md5":"3f914bf8b907a28f9a762f6a2c7aeb25","name":"ros-jazzy-ament-lint-auto","requires":[],"size":20401,"version":"0.17.1","binstar":{"package_id":"6674a21f52b92cb4069dbd2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d6e473393856df0c61c18894bfde0e28fb93e07ef1e5d7b4dc85b66cb94903a9"},"ros-jazzy-ament-mypy-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["mypy","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111245342,"md5":"93fe9d5258f2bdd341b17b3714ef7736","name":"ros-jazzy-ament-mypy","requires":[],"size":26561,"version":"0.17.1","binstar":{"package_id":"6674a2204161a5e24dc62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"315ecc54463e40eb40cdbf65fb48c63efac1f26f970d4e858e6221525496ab3a"},"ros-jazzy-ament-pep257-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pydocstyle","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111237919,"md5":"56e39031002e337dc3347246d04854b9","name":"ros-jazzy-ament-pep257","requires":[],"size":26548,"version":"0.17.1","binstar":{"package_id":"6674a221de26c9d519883dda","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f9f0ca348e1edae89c48368d57c28e79be80314380f18654123f1bef7fb53006"},"ros-jazzy-ament-cmake-gen-version-h-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111603410,"md5":"85ae14c683635b0d962425589f71ebd6","name":"ros-jazzy-ament-cmake-gen-version-h","requires":[],"size":23148,"version":"2.5.3","binstar":{"package_id":"6674a28d7eb3630506c62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"30d4b6f7c3aa76e1236b8b1e742641e7a595931cdcb31830c0230374de7da976"},"ros-jazzy-ament-cmake-gmock-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gmock","python","ros-jazzy-ament-cmake-gtest","ros-jazzy-ament-cmake-test","ros-jazzy-gmock-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111598537,"md5":"2dd532d03383087911be9244af15742c","name":"ros-jazzy-ament-cmake-gmock","requires":[],"size":23305,"version":"2.5.3","binstar":{"package_id":"6674a290c650598af657944a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6aa1fc6986488c970896bc7eca2f4bcf22ef5c0d5b687c3e746324567ba81e5e"},"ros-jazzy-ament-copyright-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["importlib-metadata","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111595129,"md5":"e856b100c05495a9d56120dcbe98c4e8","name":"ros-jazzy-ament-copyright","requires":[],"size":67267,"version":"0.17.1","binstar":{"package_id":"6674a291a2d10e383ff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c2bdf0735bd749cb7a5b3921cfd23364b4f5dc6ead617658019942b36769ca5c"},"ros-jazzy-cyclonedds-0.10.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["openssl","python","ros-jazzy-iceoryx-binding-c","ros-jazzy-iceoryx-hoofs","ros-jazzy-iceoryx-posh","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","openssl >=3.4.0,<4.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111596221,"md5":"851d56553118f6bba7f6bdb2a0106e98","name":"ros-jazzy-cyclonedds","requires":[],"size":1262252,"version":"0.10.5","binstar":{"package_id":"6674a293cc5a7c2475f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"822e23678d26dbf7fe58ebc86035567fb969c7bcf4bea1ce490eadb5d0b80a44"},"ros-jazzy-ament-clang-format-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["clang-format","python","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111811884,"md5":"5a264a22d41fc6415223b58d2652ab52","name":"ros-jazzy-ament-clang-format","requires":[],"size":30246,"version":"0.17.1","binstar":{"package_id":"6674a2dcee500a2b2d1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"09898585febbc65bf7ae74074b83f9872ebb65f64912cbdb90e6a5e634f7a7ce"},"ros-jazzy-ament-index-python-1.8.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111806261,"md5":"00277d28fa6204100b120fc3772ece7c","name":"ros-jazzy-ament-index-python","requires":[],"size":29363,"version":"1.8.1","binstar":{"package_id":"6674a2de3ebd9bb417c12e4b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"decd85ea5d574893402c7ff8a3306c9e9eb6cb3470e08fd5af8d912f53970f3d"},"ros-jazzy-domain-coordinator-0.12.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111831384,"md5":"fa2633e86cea05e384ce5f09506f03a9","name":"ros-jazzy-domain-coordinator","requires":[],"size":20308,"version":"0.12.0","binstar":{"package_id":"6674a2df1940d61b8344de70","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14d21706511a2b5927335370eec0e02165675423469c05be7ddbbe925a6afc7b"},"ros-jazzy-ament-cmake-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["cmake","python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-definitions","ros-jazzy-ament-cmake-export-dependencies","ros-jazzy-ament-cmake-export-include-directories","ros-jazzy-ament-cmake-export-interfaces","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ament-cmake-export-link-flags","ros-jazzy-ament-cmake-export-targets","ros-jazzy-ament-cmake-gen-version-h","ros-jazzy-ament-cmake-libraries","ros-jazzy-ament-cmake-python","ros-jazzy-ament-cmake-target-dependencies","ros-jazzy-ament-cmake-test","ros-jazzy-ament-cmake-version","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111807957,"md5":"67577e09d619cf5fcc5711eb18692ef7","name":"ros-jazzy-ament-cmake","requires":[],"size":21570,"version":"2.5.3","binstar":{"package_id":"6674a2eda2d10e383ff4ab9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f6b5ed1a2d772f7378e68ac9c4da51cb2eacfa4cc4a48bd6927b3c0a1f7ec94"},"ros-jazzy-ament-cppcheck-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["cppcheck","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111828377,"md5":"f1b2533c6e83fe04a6524ce8cfa7ee22","name":"ros-jazzy-ament-cppcheck","requires":[],"size":29603,"version":"0.17.1","binstar":{"package_id":"6674a2ee7aab843f03579451","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5724a1c210f6e8079edcb216361c06402669ecfaabe75937be5289298206f327"},"ros-jazzy-ament-cpplint-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111811813,"md5":"74f77bd72ed4fcd6f5bc89809d533934","name":"ros-jazzy-ament-cpplint","requires":[],"size":175912,"version":"0.17.1","binstar":{"package_id":"6674a2eff3b3829c06f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8587d8fab83b57e713ae0d3fdfbed891dc16fe766d92025f445d0db6c12da8a7"},"ros-jazzy-ament-lint-cmake-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111801857,"md5":"933157ce627363ad5c2958e7af5f0781","name":"ros-jazzy-ament-lint-cmake","requires":[],"size":39873,"version":"0.17.1","binstar":{"package_id":"6674a2f1e9156fea239d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ca2271a7cd756a9ca34e37a3d389cde8393bf1e5f8749a9ea81c60f988a14eec"},"ros-jazzy-ament-xmllint-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libxml2","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111811258,"md5":"89556b91eaaceca56038bf79b0689a7e","name":"ros-jazzy-ament-xmllint","requires":[],"size":27696,"version":"0.17.1","binstar":{"package_id":"6674a2f2c88619e4bd9d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"faf4a7103808f5a78887d93af4d9c11961c18fe115123ef252f59c87cd545817"},"ros-jazzy-pybind11-vendor-3.1.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pybind11","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112183804,"md5":"ced0fe1844207b85f9574f366c5200f4","name":"ros-jazzy-pybind11-vendor","requires":[],"size":21471,"version":"3.1.2","binstar":{"package_id":"6674a343ea2199b4dff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f090bfda1729360331975b57994fa519afd6abf2e6a1a4a95225904f3b6e22da"},"ros-jazzy-rpyutils-0.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112183157,"md5":"ce1d36ee3f809b6ec924ddce8201203c","name":"ros-jazzy-rpyutils","requires":[],"size":25595,"version":"0.4.1","binstar":{"package_id":"6674a3449d4c1e9d4f44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4df8f3aae8ecb28f284c645d2c13b63b8ea9ea602a5ffdb0e339012efa6778fa"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112184383,"md5":"c27a3f191e7aae10523fb5672b1fb620","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":22295,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"79eb97aeb64a080fc710a18a0a0417aa7c47dfcd039c4f59939c04dcb9ddbf83"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","libstdcxx >=13","libgcc >=13","tinyxml2 >=10.0.0,<11.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442254656,"md5":"60f2bddda25d12ba31afbc604bc5dcc7","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":23256,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0dcb79a405e0398be4bf7e2016d409d5852100730bdc30b4b3012d1f56098f21"},"ros-jazzy-ament-cmake-auto-2.5.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ament-cmake-gmock","ros-jazzy-ament-cmake-gtest","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112191934,"md5":"4ae4ee5f4c5ac7c2281586b8540402f3","name":"ros-jazzy-ament-cmake-auto","requires":[],"size":25441,"version":"2.5.3","binstar":{"package_id":"6674a34992c307f5a7a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cdfe4dcfe19ad82ec6dfaa2a720c7640b519f8244ea177d2abf462e3dd43542b"},"ros-jazzy-yaml-cpp-vendor-9.0.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml-cpp","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","yaml-cpp >=0.8.0,<0.9.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112183093,"md5":"41ff1dd2c362e529a7953fcfad8532b3","name":"ros-jazzy-yaml-cpp-vendor","requires":[],"size":21378,"version":"9.0.1","binstar":{"package_id":"6674a34abfe0729017c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"407c5398ee1e4455701d202e1606245cbfddf74b54455581a9110c55ddc7b4ee"},"ros-jazzy-liblz4-vendor-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["lz4","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112199641,"md5":"1e3c99082d31907bc0a9ff479e1bb9b0","name":"ros-jazzy-liblz4-vendor","requires":[],"size":22337,"version":"0.26.6","binstar":{"package_id":"6674a34bb60870276744de75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1a34ca6bb3d68dd0ae45b7af1fc335a2b3d5ea26a4778b9d5a7c307c5b55a4be"},"ros-jazzy-zstd-vendor-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zstd","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","zstd >=1.5.6,<1.6.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112183813,"md5":"25fd44a8901c6a122769b03313f97c93","name":"ros-jazzy-zstd-vendor","requires":[],"size":22283,"version":"0.26.6","binstar":{"package_id":"6674a34dc42c2ed11157944f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"40bc79e46995a963954da4e25d22c4d0748891edacfe06beb8da8e67c7adf8ab"},"ros-jazzy-sqlite3-vendor-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","libstdcxx >=14","libgcc >=14","libsqlite >=3.47.2,<4.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112198863,"md5":"c8b7fceeefa40a3a8593b86e29ebaf08","name":"ros-jazzy-sqlite3-vendor","requires":[],"size":22789,"version":"0.26.6","binstar":{"package_id":"6674a34ffce8b5e8a96af057","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"47a3f98b68ebaeceeddc512b180342544f4d2628c81222cec76e6ff0610f1741"},"ros-jazzy-ament-cmake-lint-cmake-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-lint-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112179734,"md5":"10f440cf7cfb2b9a7bfc5a4ad792a95e","name":"ros-jazzy-ament-cmake-lint-cmake","requires":[],"size":20750,"version":"0.17.1","binstar":{"package_id":"6674a379b5589307ae1922c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58ebb2a5142772539bab434331bd7f1360aaeb08f7be0dd925622f2952996b83"},"ros-jazzy-fastcdr-2.2.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112182010,"md5":"6f2bb0a5a0d32b616cffbc23d5eb19b9","name":"ros-jazzy-fastcdr","requires":[],"size":85008,"version":"2.2.5","binstar":{"package_id":"6674a37cbedcf6d9e79d9859","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc182c710cbe20999699fddca33c061f6eeac6aaf92df5ecddd1d695f307c87e"},"ros-jazzy-launch-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["importlib-metadata","lark-parser","python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-osrf-pycommon","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112179981,"md5":"973d5ac47a16eca42f12cc41f0f8dd17","name":"ros-jazzy-launch","requires":[],"size":238748,"version":"3.4.3","binstar":{"package_id":"6674a37ff1e91f8ddc6af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ed5386d8e0b219402667bc6b97d75a47fbdd327a0cf394fc852ada01a1fa91d8"},"ros-jazzy-rosidl-cli-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["argcomplete","importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112181504,"md5":"d1c8abd5941b378305345aca7d93084e","name":"ros-jazzy-rosidl-cli","requires":[],"size":38904,"version":"4.6.5","binstar":{"package_id":"6674a38184d8e3c9b344de79","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"012e141136f4e1e387a57255633a012f5dd17b2575b8f154b475bcc457bae736"},"ros-jazzy-uncrustify-vendor-3.0.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","uncrustify","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","uncrustify >=0.74.0,<0.75.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112181258,"md5":"fcb28f18bc3d04242638a397d2616673","name":"ros-jazzy-uncrustify-vendor","requires":[],"size":636736,"version":"3.0.0","binstar":{"package_id":"6674a38358ad9e4bfa9d9857","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aad968924964bcdfba1252e2b2ae5896c6938e30e06c56adf90586cf100e6eea"},"ros-jazzy-ament-cmake-copyright-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-copyright","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112442954,"md5":"80abde1ae54317fce0a30c08d4f4ac94","name":"ros-jazzy-ament-cmake-copyright","requires":[],"size":21081,"version":"0.17.1","binstar":{"package_id":"6674a3f11940d61b8344de72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fdb402bce7735ee32fe062110712fd70db8af1284a5cbb69b52c6b6cc55d9d14"},"ros-jazzy-ament-uncrustify-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-uncrustify-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112438342,"md5":"16b3180a81ecfc3580a0793023ab79f6","name":"ros-jazzy-ament-uncrustify","requires":[],"size":68447,"version":"0.17.1","binstar":{"package_id":"6674a3f2b5589307ae1922c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"431c26f1a5932a8e50a481bddc295f8f6fad780554dd77fb5077f54524fa1463"},"ros-jazzy-launch-xml-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112443459,"md5":"65d720c796574f7a26c03eaa0460deca","name":"ros-jazzy-launch-xml","requires":[],"size":25544,"version":"3.4.3","binstar":{"package_id":"6674a3f4bcb5ffd4511922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8e2bbf949b4c67d542e8db8d6a9a272c0ba822fb09fc9b6fd6d51a26b86cf474"},"ros-jazzy-launch-yaml-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112443583,"md5":"e482c087133df95ffbcde77aae788f9a","name":"ros-jazzy-launch-yaml","requires":[],"size":26165,"version":"3.4.3","binstar":{"package_id":"6674a3f58eba59d71d44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"164c85301e59ee730e0b750627b627e5e0c683d81f0ad0654206fd7d193c05b3"},"ros-jazzy-mcap-vendor-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-liblz4-vendor","ros-jazzy-ros-workspace","ros-jazzy-zstd-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112457135,"md5":"b7822ffd76b92c18d6715757c0ea35e4","name":"ros-jazzy-mcap-vendor","requires":[],"size":169428,"version":"0.26.6","binstar":{"package_id":"6674a3f7b4d9bfd6ec579457","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ce47441407f8b4d5e7d929f76eb056dfb9a31aab258acf714c90bd4f7ae015df"},"ros-jazzy-ament-cmake-clang-format-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-clang-format","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112646714,"md5":"0f1fd6f49646fe28ade98e9b62b3d62b","name":"ros-jazzy-ament-cmake-clang-format","requires":[],"size":22316,"version":"0.17.1","binstar":{"package_id":"6674a446c88619e4bd9d985a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1f5ddaced44ac7b713ef99d1c444b18a17f2a50303088ac2d87d53faf52d7d8e"},"ros-jazzy-ament-cmake-cppcheck-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ament-cppcheck","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112643396,"md5":"d1f90f3d5cf92a4a451911b46748859a","name":"ros-jazzy-ament-cmake-cppcheck","requires":[],"size":22689,"version":"0.17.1","binstar":{"package_id":"6674a447c168245e946af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5f10c276ae22dcf0cbd1f3dcf348c6619da048357addb8ce63dc071afcd2d7f6"},"ros-jazzy-eigen3-cmake-module-0.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112647925,"md5":"d6b648a1b8fb2339c39d785ab9fd4225","name":"ros-jazzy-eigen3-cmake-module","requires":[],"size":21877,"version":"0.3.0","binstar":{"package_id":"6674a4489005ffd21cc62370","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a230397128eef918e2418597db40a762a227c3f16ce63e350b9f296069679c03"},"ros-jazzy-launch-testing-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pytest","python","ros-jazzy-ament-index-python","ros-jazzy-launch","ros-jazzy-launch-xml","ros-jazzy-launch-yaml","ros-jazzy-osrf-pycommon","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112643354,"md5":"67ed99c7a62cf49c991f66f0bdd6d115","name":"ros-jazzy-launch-testing","requires":[],"size":119314,"version":"3.4.3","binstar":{"package_id":"6674a44a8c7b2f8b2ca7ce72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8f8beb74741be80657ab793d05f48d949a442d91544c9c0d1c716ed7a0cd9fc3"},"ros-jazzy-ament-cmake-cpplint-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-cpplint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112653212,"md5":"c1776b1a1347f44c3a49f68ac1dc3e57","name":"ros-jazzy-ament-cmake-cpplint","requires":[],"size":21680,"version":"0.17.1","binstar":{"package_id":"6674a44d526ed064dbc62376","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e0e0ae9cc60b36734697326949a263ac126638f438231da8bec9a13896620be4"},"ros-jazzy-ament-cmake-flake8-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-flake8","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112647625,"md5":"92b21f39de5ac0ca6f67c149636cb75b","name":"ros-jazzy-ament-cmake-flake8","requires":[],"size":22729,"version":"0.17.1","binstar":{"package_id":"6674a44fe339ff3360579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2583a2ce461e2000e6ccc552e7e71c9c580dc0a1c6cbda8fddba59b415e7ef81"},"ros-jazzy-ament-cmake-pep257-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-pep257","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112658338,"md5":"fef66b12a642097b14a35f93ede5b6fd","name":"ros-jazzy-ament-cmake-pep257","requires":[],"size":21475,"version":"0.17.1","binstar":{"package_id":"6674a450cc5a7c2475f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f5c20f315d5cdcec5f9175bd0168173900f0f58904a9c21906866c178ad8b253"},"ros-jazzy-ament-cmake-uncrustify-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-uncrustify","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112649871,"md5":"1141487d945a7471686d24cd861b8dd0","name":"ros-jazzy-ament-cmake-uncrustify","requires":[],"size":22057,"version":"0.17.1","binstar":{"package_id":"6674a451dbc9a5ddb557944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"408b04bd18224e36323b37f2ad6c57344a719a2376f620572cd41cbb0419c17b"},"ros-jazzy-ament-cmake-xmllint-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-xmllint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112648640,"md5":"0925048e2807b0ea0317496a284d8ff3","name":"ros-jazzy-ament-cmake-xmllint","requires":[],"size":21494,"version":"0.17.1","binstar":{"package_id":"6674a452bb59b798ed1922c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4baff7fb33f526f3956189884a3f167af29509b69839b7174bd8f22ed1dedb78"},"ros-jazzy-ament-lint-common-0.17.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-copyright","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-cppcheck","ros-jazzy-ament-cmake-cpplint","ros-jazzy-ament-cmake-flake8","ros-jazzy-ament-cmake-lint-cmake","ros-jazzy-ament-cmake-pep257","ros-jazzy-ament-cmake-uncrustify","ros-jazzy-ament-cmake-xmllint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112834588,"md5":"d0035f35804e952a1c2a57ee200b5ede","name":"ros-jazzy-ament-lint-common","requires":[],"size":20682,"version":"0.17.1","binstar":{"package_id":"6674a48ff976b474bef4aba0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"996176c86acb38a7c5a173fe8f2d63ce6c1a3212089704e4403316c54d6560f7"},"ros-jazzy-foonathan-memory-vendor-1.3.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["cmake","foonathan-memory","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","foonathan-memory >=0.7.3,<0.7.4.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112835310,"md5":"b14978614a63287973d88e02d3b20276","name":"ros-jazzy-foonathan-memory-vendor","requires":[],"size":18505,"version":"1.3.1","binstar":{"package_id":"6674a491c42c2ed111579458","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"897c30a4f25febcb801af39a9a1a91c35b6fedb27aaf2721e436320a2642bd0b"},"ros-jazzy-ament-index-cpp-1.8.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113201216,"md5":"0b6c4b4639d677b6956b6bc341aa4662","name":"ros-jazzy-ament-index-cpp","requires":[],"size":44714,"version":"1.8.1","binstar":{"package_id":"6674a4dc1940d61b8344de74","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"22d5660f9c3109f97ea1488a941dcf216b189f18e00f2edeab1285b383d3f9bb"},"ros-jazzy-keyboard-handler-0.3.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113198866,"md5":"94e85cce902b7e6beaaadaa7d12c0ed3","name":"ros-jazzy-keyboard-handler","requires":[],"size":55581,"version":"0.3.1","binstar":{"package_id":"6674a4ddbfe0729017c62376","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b051d6f4be0bcb408faa16a98c922b5f611206074f1c5e15a7bca6aa4c842b32"},"ros-jazzy-orocos-kdl-vendor-0.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","orocos-kdl","python","ros-jazzy-eigen3-cmake-module","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113196607,"md5":"59b6100e73e198a547845b4e38d7029e","name":"ros-jazzy-orocos-kdl-vendor","requires":[],"size":26281,"version":"0.5.1","binstar":{"package_id":"6674a4deb5589307ae1922cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a0d64852d436b2bcfee9a7f217ef32dd65f41b364335f16936f54c3d92c6932e"},"ros-jazzy-spdlog-vendor-1.6.1-np126py311h3e74f1f_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h3e74f1f_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","spdlog","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","spdlog >=1.14.1,<1.15.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113193279,"md5":"a69d1763af6a341d93a015611382be75","name":"ros-jazzy-spdlog-vendor","requires":[],"size":25415,"version":"1.6.1","binstar":{"package_id":"6674a4e0ea8f365444c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6a6005496e5deaa2337daf1b2df1d43cf7d8e1e7a5431be088111ec9985d2659"},"ros-jazzy-ament-cmake-ros-0.12.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ament-cmake-gmock","ros-jazzy-ament-cmake-gtest","ros-jazzy-ament-cmake-pytest","ros-jazzy-domain-coordinator","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113193307,"md5":"7e28d63a29cf92ab3d254a35ed045beb","name":"ros-jazzy-ament-cmake-ros","requires":[],"size":29662,"version":"0.12.0","binstar":{"package_id":"6674a554d25c322a2e1922c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"31a901524319217e759c2ebc606a56fb48e65b356b516b0001007136bb963845"},"ros-jazzy-mimick-vendor-0.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113192470,"md5":"aa8e4cd4a4c1a5b33a18563f7e8fd147","name":"ros-jazzy-mimick-vendor","requires":[],"size":53196,"version":"0.6.2","binstar":{"package_id":"6674a555d25c322a2e1922c3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"136744e62cc118f4ed2cf7ce0198cc1aa04e3339abe8d08b5bdbb71962946d3e"},"ros-jazzy-performance-test-fixture-0.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-google-benchmark","ros-jazzy-google-benchmark-vendor","ros-jazzy-osrf-testing-tools-cpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113193484,"md5":"1cc63e3c4f858b9531820b6203c9393f","name":"ros-jazzy-performance-test-fixture","requires":[],"size":38878,"version":"0.2.1","binstar":{"package_id":"6674a557d25c322a2e1922c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4fbfda41346d1318df73694c2710dea9bea3e024d00122fb8a00dcf711398e7b"},"ros-jazzy-python-cmake-module-0.11.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113188872,"md5":"2260caeeb5427d0d0d95c7a70d83330e","name":"ros-jazzy-python-cmake-module","requires":[],"size":26107,"version":"0.11.1","binstar":{"package_id":"6674a559ea2199b4dff4ab9b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"784540d17685c3d7ab12edf62aeba9d072979fd73fa68f77f282352c2273936d"},"ros-jazzy-rosidl-adapter-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["empy","python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113191395,"md5":"8c40b3da45e6753bcacef151b2546884","name":"ros-jazzy-rosidl-adapter","requires":[],"size":63523,"version":"4.6.5","binstar":{"package_id":"6674a55bea2199b4dff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f8e8b1c69808da0572db48bfe4046cb458932c9e35cc2f61daf65a02287feacc"},"ros-jazzy-fastrtps-cmake-module-3.6.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113194070,"md5":"6b87400cc7207a426cae14d6900cc207","name":"ros-jazzy-fastrtps-cmake-module","requires":[],"size":25741,"version":"3.6.1","binstar":{"package_id":"66751ecca31ee1457760efa8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6425888ed3dbe5604f59f2b6ae7ed58d53b301471cdbb128645461feeac8cf42"},"ros-jazzy-launch-testing-ament-cmake-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-launch-testing","ros-jazzy-python-cmake-module","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113666504,"md5":"0e61d1dab0f5ec3af6c60fba673eb4c8","name":"ros-jazzy-launch-testing-ament-cmake","requires":[],"size":25330,"version":"3.4.3","binstar":{"package_id":"66751ece6b847cafe64ef2b0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e3e9ede99dea252a14274c2fbbadc54c00c73712fbe18123f245fad30dec615"},"ros-jazzy-rosidl-parser-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["lark-parser","python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-adapter","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113650776,"md5":"5f47c4f9229d9287b23834c9c5773f7c","name":"ros-jazzy-rosidl-parser","requires":[],"size":59794,"version":"4.6.5","binstar":{"package_id":"66751ed4f4ee0bdb121f4589","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"78ad95da48abed02d5333d03e52c2cf264b67e234c0d7dba8f9ce2fa3e817167"},"ros-jazzy-rosidl-typesupport-interface-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113193587,"md5":"a60a0aaf87efc114c4fb1bcf6acbf909","name":"ros-jazzy-rosidl-typesupport-interface","requires":[],"size":27648,"version":"4.6.5","binstar":{"package_id":"66751ed536bdc0d98eb325f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cd1521f9831ec72f37fd7b2717fb7e395994027bcda217d08763540611c1f9cf"},"ros-jazzy-console-bridge-vendor-1.7.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["console_bridge","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","console_bridge >=1.0.2,<1.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113654368,"md5":"c4209c0d6df4a75fb4e73a48210693b3","name":"ros-jazzy-console-bridge-vendor","requires":[],"size":25937,"version":"1.7.1","binstar":{"package_id":"66751f27a116811e5e8312ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bcc7f76fc9611f4e7bd3508a8ae188481a16b322c8e78d86fa493decfbf419df"},"ros-jazzy-urdf-parser-plugin-2.10.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-urdfdom-headers","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113669911,"md5":"0e38f1f3be60102000dd227931853082","name":"ros-jazzy-urdf-parser-plugin","requires":[],"size":30324,"version":"2.10.0","binstar":{"package_id":"66751f28bb9bcc31bda376b8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"59951b3e1108caaaf5b641289d7494a652f12afa93aa3e08dbb19449f3c4bf98"},"ros-jazzy-fastrtps-2.14.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["openssl","python","ros-jazzy-fastcdr","ros-jazzy-foonathan-memory-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","tinyxml2 >=10.0.0,<11.0a0","numpy >=1.26.4,<2.0a0","openssl >=3.4.0,<4.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113207459,"md5":"c2a2c50f4a731900b6b0aa97eae0e366","name":"ros-jazzy-fastrtps","requires":[],"size":4011322,"version":"2.14.4","binstar":{"package_id":"667520521ae390792a55e120","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d1399564ab42555122ab0783f8841029b3a02f4e9ca5c7b7635bcdaf53b98f19"},"ros-jazzy-libyaml-vendor-1.6.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pkg-config","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml","yaml-cpp","libstdcxx >=14","libgcc >=14","yaml-cpp >=0.8.0,<0.9.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","yaml >=0.2.5,<0.3.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113652902,"md5":"34f9ef916c0f6011319a9a79151baeb1","name":"ros-jazzy-libyaml-vendor","requires":[],"size":27986,"version":"1.6.3","binstar":{"package_id":"6675205301afc569e3b325f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e7cbe5d07e264530b16a6ebd539a700bb6cca5d1088cbf4e3fb08ddbcbd5bf6"},"ros-jazzy-rmw-implementation-cmake-7.3.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113197370,"md5":"bd163dfdcd2cca8ef7adba1e2162da7a","name":"ros-jazzy-rmw-implementation-cmake","requires":[],"size":27718,"version":"7.3.1","binstar":{"package_id":"6675205401afc569e3b325fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"62be4893ee5e8d713174fbd3b2474107063ea1f39c483b05975675ac745bc078"},"ros-jazzy-rti-connext-dds-cmake-module-0.22.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113194048,"md5":"9132f016831f6cee025c65b337eab610","name":"ros-jazzy-rti-connext-dds-cmake-module","requires":[],"size":29860,"version":"0.22.0","binstar":{"package_id":"66752055fcacfe3dc8a376b6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3b35175f747207db76ba3ed1c118d8b206d24942f2a89e314198619ed84521be"},"ros-jazzy-tracetools-8.2.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["lttng-ust","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","lttng-ust >=2.13.8,<2.14.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113644814,"md5":"b68a8fd646e2a10b607b5caca8c3d314","name":"ros-jazzy-tracetools","requires":[],"size":71643,"version":"8.2.3","binstar":{"package_id":"66752056a12613151f4ef2b3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"210dcf40e71e2a280344dd796ce3d20034a578aab38d23f1d1cb6287176cf1f2"},"ros-jazzy-rcutils-6.7.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113847752,"md5":"4b6bb29ebf6aa13a9bccff4fb078d728","name":"ros-jazzy-rcutils","requires":[],"size":126392,"version":"6.7.2","binstar":{"package_id":"66755346ab8e4fb8a751162a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6caf3d239639426090e45e02fa202c74f5681051ebdbf2c6b655f72aae518643"},"ros-jazzy-rosidl-generator-type-description-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-parser","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113872982,"md5":"e123796b1bc767ced39c73d38285f2df","name":"ros-jazzy-rosidl-generator-type-description","requires":[],"size":45548,"version":"4.6.5","binstar":{"package_id":"66755347c51310fb1549e819","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fabda7fe432a4177bb0dfe280f557e1c6091442ba28a7a203c89e5fa634bc0c8"},"ros-jazzy-rosidl-pycommon-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-parser","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113849010,"md5":"0394c2cbcc1133448a1c7c11032f9e48","name":"ros-jazzy-rosidl-pycommon","requires":[],"size":24846,"version":"4.6.5","binstar":{"package_id":"6675534819531b40f8fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4ab73b34e7057df0714a5b360614d7534cf55303e76b3101520ae349229288b4"},"ros-jazzy-urdfdom-4.0.1-he8cfe8b_0.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"he8cfe8b_0","build_number":0,"depends":["urdfdom ==4.0.1","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109505218,"md5":"5d376f854f247ff6cd3be9b595398636","name":"ros-jazzy-urdfdom","requires":[],"size":1833,"version":"4.0.1","binstar":{"package_id":"66755349942fb586b6f7dda3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f26042abac580bcb56885bd7337932ea2d12975e663b507b7102aeffd1a6f95e"},"ros-jazzy-rcpputils-2.11.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114060054,"md5":"11f2778ae92f954a75ecd9c976249a52","name":"ros-jazzy-rcpputils","requires":[],"size":79561,"version":"2.11.1","binstar":{"package_id":"6675538f676399c626e81bb3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f4756351aa889bbc2e0216cbeae09c40ac80c622fe1d3c0e470e88765b2afd6f"},"ros-jazzy-rosidl-cmake-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["empy","python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros-jazzy-rosidl-pycommon","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114056990,"md5":"83b54d0c5b47db9711def9b12808e3e2","name":"ros-jazzy-rosidl-cmake","requires":[],"size":33524,"version":"4.6.5","binstar":{"package_id":"667553906512ff23e2fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b3d8b819acfb21a63cdf20158532a3c35871ca202a83f097ca6ed0f39b8ff687"},"ros-jazzy-rosidl-runtime-c-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114055436,"md5":"c6fba77dfa52f02e25f6d0d3baee97ce","name":"ros-jazzy-rosidl-runtime-c","requires":[],"size":86835,"version":"4.6.5","binstar":{"package_id":"66755391efbad63bca80da64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6ee5483a91d29c1dc5761862821272fc021ff94ca39fe5f203b985a873dcb541"},"ros-jazzy-class-loader-2.7.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["console_bridge","python","ros-jazzy-console-bridge-vendor","ros-jazzy-rcpputils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","console_bridge >=1.0.2,<1.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114249027,"md5":"71d838cba9505a1b023b8d2b5a433e94","name":"ros-jazzy-class-loader","requires":[],"size":78402,"version":"2.7.0","binstar":{"package_id":"667553ef3603e75bcd80da64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ced290e7c3bf7ab0d1154aa1f62e7050fcaede4ad9ee7ea0682722f78718833b"},"ros-jazzy-rcl-logging-interface-3.1.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114255046,"md5":"e4b395c7eee72b73243b48d9f220e25b","name":"ros-jazzy-rcl-logging-interface","requires":[],"size":34385,"version":"3.1.1","binstar":{"package_id":"667553f1a3a2cd9e2eba03f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cbfd5e36f39faf199e3f3616eae66a2a816a79b4be98b45875f48cd943a46976"},"ros-jazzy-rosidl-dynamic-typesupport-0.1.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114255387,"md5":"bdc0a240b6ed0e3a3ab5119128cc7035","name":"ros-jazzy-rosidl-dynamic-typesupport","requires":[],"size":59280,"version":"0.1.2","binstar":{"package_id":"667553f3f6fec850abba03f0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"28064351dbac1c6f290cb90db18b3ed5fbcf45515fa2dbb9805b0bced0385d67"},"ros-jazzy-rosidl-generator-c-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-index-python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-cmake","ros-jazzy-rosidl-generator-type-description","ros-jazzy-rosidl-parser","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114254133,"md5":"5f2d29a3ac6ef2f7f467906a157d2035","name":"ros-jazzy-rosidl-generator-c","requires":[],"size":51483,"version":"4.6.5","binstar":{"package_id":"667553f4b065f00167fc97bd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4d97a4aca9baf53289b0b3b67573fef09da6a504881b6e7613a95298da24c8f4"},"ros-jazzy-rosidl-runtime-cpp-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114250088,"md5":"0ae084991a54155a811ae1e708f81db2","name":"ros-jazzy-rosidl-runtime-cpp","requires":[],"size":39227,"version":"4.6.5","binstar":{"package_id":"667553f6b7dd65cd7bf7dd98","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b75abb8c146a33c6d6845a55ea239ca65027e313888eaafacbf349f4b521bc21"},"ros-jazzy-pluginlib-5.4.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-class-loader","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-tinyxml2-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114476471,"md5":"df2a08b76f06673b111ff8449d70af2f","name":"ros-jazzy-pluginlib","requires":[],"size":39461,"version":"5.4.2","binstar":{"package_id":"6675543033804386eeba03e9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5ce286b038d6f7da13fb5ac02002c0d968e534478f7f976c96d8d395c795afc9"},"ros-jazzy-rcl-logging-spdlog-3.1.1-np126py311h3e74f1f_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h3e74f1f_1","build_number":1,"depends":["python","ros-jazzy-rcl-logging-interface","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-spdlog-vendor","ros2-distro-mutex 0.6.* jazzy_*","spdlog","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","spdlog >=1.14.1,<1.15.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114471525,"md5":"d207028c869e5c1b938564b17cc6f7a4","name":"ros-jazzy-rcl-logging-spdlog","requires":[],"size":46131,"version":"3.1.1","binstar":{"package_id":"6675545679a1e1da3ef7dd8f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c336fa7318435386afe19d9556233f4e414b45cc589e7862301e29fc2850f347"},"ros-jazzy-rmw-7.3.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-dynamic-typesupport","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114478941,"md5":"9b9806aba181cf51b600efd18e6d0b5f","name":"ros-jazzy-rmw","requires":[],"size":96877,"version":"7.3.1","binstar":{"package_id":"6675545733804386eeba03eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4b7b5b28f9e1464c3c1242b1c1b03ff8960bc3178e18d052ffcb8a7c487d52f7"},"ros-jazzy-rosidl-dynamic-typesupport-fastrtps-0.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-fastcdr","ros-jazzy-fastrtps","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-dynamic-typesupport","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114476474,"md5":"f3be146710e72ac391c7e00ee08e6e74","name":"ros-jazzy-rosidl-dynamic-typesupport-fastrtps","requires":[],"size":77599,"version":"0.1.0","binstar":{"package_id":"6675545817cc4891dbba03f2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"15b42e5a3b7a2790b7822961f17ac56ec7fb83ebc9299da7a2e5215f05991544"},"ros-jazzy-rosidl-generator-cpp-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-cmake","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-generator-type-description","ros-jazzy-rosidl-parser","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-cpp","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114470534,"md5":"79ed8471d3f9ff46a566529d82bb3323","name":"ros-jazzy-rosidl-generator-cpp","requires":[],"size":48392,"version":"4.6.5","binstar":{"package_id":"6675545ae15bbbf909ba03ea","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9359d125413fe118594948de3bd3d41ef7c5961dc1e03d79da44e117c064eafd"},"ros-jazzy-rosidl-typesupport-introspection-c-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-cmake","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-parser","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114475235,"md5":"90fa569d8f261127a2e9e8448af2e43a","name":"ros-jazzy-rosidl-typesupport-introspection-c","requires":[],"size":47266,"version":"4.6.5","binstar":{"package_id":"6675545bc61e8fdedffc97bb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a753c242046e44de6d684ef1ae4a1a389e7ea9ccb8a5c2ff7b422a3b66786a30"},"ros-jazzy-rcl-yaml-param-parser-9.2.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-libyaml-vendor","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml","yaml-cpp","libstdcxx >=14","libgcc >=14","yaml >=0.2.5,<0.3.0a0","python_abi 3.11.* *_cp311","yaml-cpp >=0.8.0,<0.9.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114704059,"md5":"c009c522c0d6cec76306fd13418a36c0","name":"ros-jazzy-rcl-yaml-param-parser","requires":[],"size":51695,"version":"9.2.4","binstar":{"package_id":"667554b228e9267efdfc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e39ba5a64b97685da29aeee30087df9b644b53acd5e4fffb6442b38c9b4ad1a0"},"ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-ros","ros-jazzy-ament-index-python","ros-jazzy-fastcdr","ros-jazzy-fastrtps-cmake-module","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-generator-cpp","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114719004,"md5":"6ae1694dc949dffc0aa4c7db82c933ae","name":"ros-jazzy-rosidl-typesupport-fastrtps-cpp","requires":[],"size":52522,"version":"3.6.1","binstar":{"package_id":"667554b4d66865331cba03f4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"156d0537b4fdc87c2b92279d806ec80d451995588cdc86e9ba502aef61f2545d"},"ros-jazzy-rosidl-typesupport-introspection-cpp-4.6.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-cmake","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-generator-cpp","ros-jazzy-rosidl-parser","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-interface","ros-jazzy-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114702575,"md5":"fdde651b58eff3ea9c18153f53f5b342","name":"ros-jazzy-rosidl-typesupport-introspection-cpp","requires":[],"size":47448,"version":"4.6.5","binstar":{"package_id":"667554b5b065f00167fc97c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a85c6307544b1acbb0a13c1c307eaff5ffa940356c6382d8f09654fc56f8d84a"},"ros-jazzy-urdf-2.10.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf-parser-plugin","ros-jazzy-urdfdom","ros-jazzy-urdfdom-headers","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114695918,"md5":"c1c8fa01a4ce6e7147b1bd8895b05817","name":"ros-jazzy-urdf","requires":[],"size":154839,"version":"2.10.0","binstar":{"package_id":"667554b619531b40f8fc97c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7d6e499b780b38323c121381c34b9c12baeeed42c0a96d2651883ed07a3d398c"},"ros-jazzy-kdl-parser-2.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-orocos-kdl-vendor","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-urdf","ros-jazzy-urdfdom-headers","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115107916,"md5":"9a8c39d1c2614b687d4c01a0611ac3f8","name":"ros-jazzy-kdl-parser","requires":[],"size":46536,"version":"2.11.0","binstar":{"package_id":"667554fd187a58b4e599719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3f034d675fa800c620383380bfc386597a8783d22a6fe5874f26f85fd33bfa42"},"ros-jazzy-rosidl-typesupport-c-3.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-index-python","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-interface","ros-jazzy-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115339898,"md5":"4d861fe6007a4abdbef1a61e62717a48","name":"ros-jazzy-rosidl-typesupport-c","requires":[],"size":49444,"version":"3.2.2","binstar":{"package_id":"667554feb4b2a28e08fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c69567c4d61c7e084685bec971a40afeb7026b652f0f1013963bdcb1b880ce6f"},"ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-ros","ros-jazzy-ament-index-python","ros-jazzy-fastcdr","ros-jazzy-fastrtps-cmake-module","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115109059,"md5":"f0661c384cb89a1846b68268011b21e0","name":"ros-jazzy-rosidl-typesupport-fastrtps-c","requires":[],"size":50499,"version":"3.6.1","binstar":{"package_id":"667554fffba30a11b1a862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1610cfe457a8f35488028b9aca4e67d2cd52b9af96abfca8524f01b3145b2785"},"ros-jazzy-rosidl-core-generators-0.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cmake","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-generator-cpp","ros-jazzy-rosidl-generator-py","ros-jazzy-rosidl-generator-type-description","ros-jazzy-rosidl-typesupport-c","ros-jazzy-rosidl-typesupport-cpp","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115696128,"md5":"f09bcf6ec2cb0d745fe834fe433051eb","name":"ros-jazzy-rosidl-core-generators","requires":[],"size":30668,"version":"0.2.0","binstar":{"package_id":"6675555445471806a199719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b1188c202e297abfcc018433845afa5c4869a20d78e275710b01857dd90d611b"},"ros-jazzy-rosidl-core-runtime-0.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-generator-py","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-c","ros-jazzy-rosidl-typesupport-cpp","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115713318,"md5":"1b94dbd647024657021e8f174327a813","name":"ros-jazzy-rosidl-core-runtime","requires":[],"size":29685,"version":"0.2.0","binstar":{"package_id":"6675555628e9267efdfc97c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8663e265a72100db16a346e23b50bd2607df2f840546108b7faaabc242f73d1"},"ros-jazzy-rosidl-generator-py-0.22.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","ros-jazzy-ament-cmake","ros-jazzy-ament-cmake-cppcheck","ros-jazzy-ament-cmake-cpplint","ros-jazzy-ament-cmake-flake8","ros-jazzy-ament-cmake-pep257","ros-jazzy-ament-cmake-uncrustify","ros-jazzy-ament-index-python","ros-jazzy-python-cmake-module","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-parser","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-typesupport-c","ros-jazzy-rosidl-typesupport-interface","ros-jazzy-rpyutils","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115523123,"md5":"44cdcfa518810ab092f7050f26802293","name":"ros-jazzy-rosidl-generator-py","requires":[],"size":59075,"version":"0.22.0","binstar":{"package_id":"66755558a402cb080399719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b6fee700495e832485dc9d563085b5a318e87713ec10881f1ccf3c28b2b22c50"},"ros-jazzy-rosidl-typesupport-cpp-3.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-index-python","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros-jazzy-rosidl-generator-c","ros-jazzy-rosidl-generator-type-description","ros-jazzy-rosidl-pycommon","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-rosidl-typesupport-interface","ros-jazzy-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115524393,"md5":"4e399360a7fdc9af3276f2ebcf61a4e3","name":"ros-jazzy-rosidl-typesupport-cpp","requires":[],"size":48847,"version":"3.2.2","binstar":{"package_id":"6675555ecaf42f844e99719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a9e800a6bcec23d05b63302be60b54abeef60ba02df3fde09be259187ab4beb4"},"ros-jazzy-builtin-interfaces-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115891124,"md5":"40663cd4708953d849ad19991ed6a4bf","name":"ros-jazzy-builtin-interfaces","requires":[],"size":82577,"version":"2.0.2","binstar":{"package_id":"667555b35c2e9b2aa799719d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"12aadd33dc9ffae5420f9ca952de3370c0beb19906356ef8ffeaa35e006d8753"},"ros-jazzy-service-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116096321,"md5":"4237ebf26be8f691e5dc4d79535a8966","name":"ros-jazzy-service-msgs","requires":[],"size":82959,"version":"2.0.2","binstar":{"package_id":"667555b4436e0c3f8aa862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c6439662a612fc907e344cad78b69803dd691979f21f01b8f967904edd1672a8"},"ros-jazzy-unique-identifier-msgs-2.5.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115908402,"md5":"7381a4fa6be719d543a1304ad0c79260","name":"ros-jazzy-unique-identifier-msgs","requires":[],"size":76189,"version":"2.5.0","binstar":{"package_id":"667555b5b065f00167fc97c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6297d61dce38fdecbbad9398deaa55518728bccee30e325452f996f7d3f9250f"},"ros-jazzy-action-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros-jazzy-service-msgs","ros-jazzy-unique-identifier-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116283044,"md5":"4be4b1718773e68c24382bd4ada0ec1a","name":"ros-jazzy-action-msgs","requires":[],"size":155721,"version":"2.0.2","binstar":{"package_id":"6675561ca0563b60eb6e10c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a74c59e8154dc0bd34932f929983ee553405596ae17fddcbdb32ca993b770ca"},"ros-jazzy-rosidl-default-generators-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-generators","ros-jazzy-service-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116475536,"md5":"4afcbbadc4957b3df69b2410c392e0fe","name":"ros-jazzy-rosidl-default-generators","requires":[],"size":30850,"version":"1.6.0","binstar":{"package_id":"6675561db065f00167fc97c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"70ff7f7a71fbd0feb9f96ebce4dea62f069ee650d4ea0688fa13eeae1f8a8f1d"},"ros-jazzy-rosidl-default-runtime-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros-jazzy-service-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116478924,"md5":"8bbd82f395f072e46c3e44f8b806bd84","name":"ros-jazzy-rosidl-default-runtime","requires":[],"size":30263,"version":"1.6.0","binstar":{"package_id":"6675561e6512ff23e2fc97c3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f39f66eca06d2de603bcf11f0336909a6b9c193c3b7c9cfd1a74f8680e898aad"},"ros-jazzy-type-description-interfaces-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros-jazzy-service-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116275705,"md5":"fbc43dcdc2bfc31fb16192e0ac447dee","name":"ros-jazzy-type-description-interfaces","requires":[],"size":236205,"version":"2.0.2","binstar":{"package_id":"6675561fedb927606aa862ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"02195195b9360b0029a5ec4bb2df800b6df140e3432c288e6861356d7ca24546"},"ros-jazzy-ros2cli-test-interfaces-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116657420,"md5":"0553c1fb558d188375945ad76e0519ff","name":"ros-jazzy-ros2cli-test-interfaces","requires":[],"size":253262,"version":"0.32.2","binstar":{"package_id":"66755669c78a5647646e10c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"677c80716313d3795ab9eebbb7f0ba2a559a1e6701aec36ea575846622cd92d3"},"ros-jazzy-rosbag2-interfaces-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116648128,"md5":"f590d8853b942bb34489713b8ba7b0f1","name":"ros-jazzy-rosbag2-interfaces","requires":[],"size":470767,"version":"0.26.6","binstar":{"package_id":"6675572445471806a199719f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24067e281bc750c806422e8a15416343c4d78ce82d72d1bfaeb85537dc2bcb68"},"ros-jazzy-lifecycle-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654561,"md5":"cb5fa8c4fca10e3992f9d91f29938a2d","name":"ros-jazzy-lifecycle-msgs","requires":[],"size":277656,"version":"2.0.2","binstar":{"package_id":"6675572653861a06946e10ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9359608affa170d120b3fbb7d0148318a91b4b88ae3bbdc8efe26b479f398a23"},"ros-jazzy-rosbag2-test-msgdefs-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116660649,"md5":"93dde651c43a4d1c65919067b3db76b8","name":"ros-jazzy-rosbag2-test-msgdefs","requires":[],"size":218156,"version":"0.26.6","binstar":{"package_id":"667557267c0a2c63af7e71f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"094e233aa7251b95fcb97d807ffded267f0e402a93ef884c069745ad89d2b7dd"},"ros-jazzy-rosgraph-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654960,"md5":"cb864a4441ccf9ab11828d717528e46c","name":"ros-jazzy-rosgraph-msgs","requires":[],"size":74573,"version":"2.0.2","binstar":{"package_id":"667557271a086940c67e71f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc83682e13bec63e54e18620327998385702596a4555173d3570ec8d5c5b1b1d"},"ros-jazzy-rcl-interfaces-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116651400,"md5":"3f9620d01117de447942fab221c30d2e","name":"ros-jazzy-rcl-interfaces","requires":[],"size":586773,"version":"2.0.2","binstar":{"package_id":"667557287435bd396ea862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"df50e687f8e815e7f52ca9162b1ae21631dcf0ebfac0cda94789795e32e21f77"},"ros-jazzy-statistics-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654239,"md5":"fc89a7c459af322bca5c602138c91a9b","name":"ros-jazzy-statistics-msgs","requires":[],"size":111986,"version":"2.0.2","binstar":{"package_id":"66755728aa2f1733d16e10cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5d7875fa4fb4dc6cc2d620dcac7fd43c100bb3360ea2833ffcf8e6bfe7126b9c"},"ros-jazzy-std-srvs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654832,"md5":"74ac5697ddd3e74ca8559862444f0f69","name":"ros-jazzy-std-srvs","requires":[],"size":172606,"version":"5.3.5","binstar":{"package_id":"6675572945471806a19971a2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4802b9bdb7c92877f9341e4393ba6c81d8f34426685db4e77d73451180315584"},"ros-jazzy-rmw-dds-common-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116655251,"md5":"f152ac01b9fdc153578f585fd5175925","name":"ros-jazzy-rmw-dds-common","requires":[],"size":178421,"version":"3.1.0","binstar":{"package_id":"6675572a390e7254da9ce9eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1d19be21902561b4ecc2dcd160e052a75c6c6c82076ef539d3b1bf7fd8167e2d"},"ros-jazzy-std-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654468,"md5":"2493dc484d7b0dada56e8cb4c30f7936","name":"ros-jazzy-std-msgs","requires":[],"size":350077,"version":"5.3.5","binstar":{"package_id":"6675572b7f7e33f8fd9ce9e8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e7a95c4e7216620efc94e38031ae932ff80335934d2b14909aa41da1cbb01a23"},"ros-jazzy-test-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116654003,"md5":"c04076772e890e8b4a19e9516cb83fd8","name":"ros-jazzy-test-msgs","requires":[],"size":907730,"version":"2.0.2","binstar":{"package_id":"6675572e1a086940c67e71f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1309febfad523058d18fe0831af07e691548e62c424c7f2050e500599e58429f"},"ros-jazzy-actionlib-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116912861,"md5":"fa5675224d723ba6c7c6145525625a85","name":"ros-jazzy-actionlib-msgs","requires":[],"size":112752,"version":"5.3.5","binstar":{"package_id":"66755780fa0cef19a46e10c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c2e6de72c1eeecc16078ad841dded059d77fa27e8da185a1308298a0265924b8"},"ros-jazzy-rosidl-runtime-py-0.13.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","pyyaml","ros-jazzy-ros-workspace","ros-jazzy-rosidl-parser","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116908297,"md5":"a093af0e234a59fa4540951a17d0c6b0","name":"ros-jazzy-rosidl-runtime-py","requires":[],"size":47524,"version":"0.13.1","binstar":{"package_id":"66755782fba30a11b1a862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e034a60ad0ebf7c1a5cbb88a245fc6a1e1200e0d96ea107a9c9a2cb484f80cb2"},"ros-jazzy-composition-interfaces-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcl-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116903963,"md5":"3c3d495558692eabfaa39e69278b5358","name":"ros-jazzy-composition-interfaces","requires":[],"size":231551,"version":"2.0.2","binstar":{"package_id":"667557f1b0c2d2df46a862cc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a90339005b87202c72325f49ba32eef34688a5eba52cf9943481d2ab82418c24"},"ros-jazzy-geometry-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116911982,"md5":"6713a4b0e71cc0ec59eec5a53d731cd4","name":"ros-jazzy-geometry-msgs","requires":[],"size":391738,"version":"5.3.5","binstar":{"package_id":"667557f2b065f00167fc97cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e2f70f909b8fb777dba17b0e27a56878e3fda49ea31e89d556e84a6843694182"},"ros-jazzy-rmw-connextdds-common-0.22.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-fastcdr","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-dds-common","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros-jazzy-rti-connext-dds-cmake-module","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116906850,"md5":"137491907744317fe0922d1bcc7b8ef9","name":"ros-jazzy-rmw-connextdds-common","requires":[],"size":52227,"version":"0.22.0","binstar":{"package_id":"667557f35c2e9b2aa79971a6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"41a47f3992b58102fa9f4ad7ce09bf0d7dda829bc173ee5652e2450c8d61ec07"},"ros-jazzy-rmw-cyclonedds-cpp-2.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cyclonedds","ros-jazzy-iceoryx-binding-c","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-dds-common","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116905464,"md5":"c4155604268d3a7190d279d271535678","name":"ros-jazzy-rmw-cyclonedds-cpp","requires":[],"size":263114,"version":"2.2.2","binstar":{"package_id":"667557f46512ff23e2fc97c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ab84e4629ce6deee44c6a6a86d39ba129da8924cda47b6eade56388a7b455645"},"ros-jazzy-rmw-fastrtps-shared-cpp-8.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-fastcdr","ros-jazzy-fastrtps","ros-jazzy-fastrtps-cmake-module","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-dds-common","ros-jazzy-ros-workspace","ros-jazzy-rosidl-dynamic-typesupport","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116907201,"md5":"da63a36edd2a73db987bcb4cc454a945","name":"ros-jazzy-rmw-fastrtps-shared-cpp","requires":[],"size":222214,"version":"8.4.1","binstar":{"package_id":"667557f61c6d3f3276a862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3e3988501114471b0f73f03bc9fc4bfa4e5a44dc8e27e14adf68872d40570ea6"},"ros-jazzy-diagnostic-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117139847,"md5":"e912843d47ca743c262e76fe64f6ae54","name":"ros-jazzy-diagnostic-msgs","requires":[],"size":212892,"version":"5.3.5","binstar":{"package_id":"667558917248a85a416e10c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"34c25280beb88264708595e2dbced8e0e1eb13328893721af16354bc44737f31"},"ros-jazzy-nav-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117142694,"md5":"57de58573f4dc6095d6e4bcfae5bd9c1","name":"ros-jazzy-nav-msgs","requires":[],"size":316640,"version":"5.3.5","binstar":{"package_id":"667558926512ff23e2fc97cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2c90586ba89f9f0f62c53b12033de95e55d856edaf41270a05a6361baa78c4ee"},"ros-jazzy-shape-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117141192,"md5":"1c81c79e0d19b30f213fd9f83e9c1f4f","name":"ros-jazzy-shape-msgs","requires":[],"size":131099,"version":"5.3.5","binstar":{"package_id":"6675589428e9267efdfc97c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe6d5173492f9df8aac2d2d5b1b1cecf378111b93a14dc841f205e5edd6d5b1d"},"ros-jazzy-tf2-msgs-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117139294,"md5":"a69bdb4270dbbac1e4116c1905dd4a34","name":"ros-jazzy-tf2-msgs","requires":[],"size":262854,"version":"0.36.7","binstar":{"package_id":"66755895fba30a11b1a862cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24144d959785f695d888f49e0455f6da650439a7ea3f18ff121b833bf33bb3cd"},"ros-jazzy-trajectory-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117138698,"md5":"8b69f3cdd89ad79c4fbe14d874d0f137","name":"ros-jazzy-trajectory-msgs","requires":[],"size":152303,"version":"5.3.5","binstar":{"package_id":"66755896edb927606aa862d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aeed19f4d88fba504b8a943d7c2bfda869faa1b77b3b56381002b203485e9cf0"},"ros-jazzy-rmw-connextdds-0.22.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rmw-connextdds-common","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117133823,"md5":"323a42f29560202da7e37ffcb90da96e","name":"ros-jazzy-rmw-connextdds","requires":[],"size":30456,"version":"0.22.0","binstar":{"package_id":"667558b3b0c2d2df46a862ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58ab5f48efff2354c2dec9fff51b64c0ed99d91e5995e9d0ffcc8fa902760b04"},"ros-jazzy-rmw-fastrtps-cpp-8.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-fastcdr","ros-jazzy-fastrtps","ros-jazzy-fastrtps-cmake-module","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-dds-common","ros-jazzy-rmw-fastrtps-shared-cpp","ros-jazzy-ros-workspace","ros-jazzy-rosidl-dynamic-typesupport","ros-jazzy-rosidl-dynamic-typesupport-fastrtps","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117137254,"md5":"f1c46efbbfa22bb47cfe9a1f02f9c788","name":"ros-jazzy-rmw-fastrtps-cpp","requires":[],"size":159719,"version":"8.4.1","binstar":{"package_id":"667558b5329f4685506e10c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f365cd526c01213d21e8f677765d9500b644664c84a07b917b717bb3aadcf63e"},"ros-jazzy-rmw-fastrtps-dynamic-cpp-8.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-fastcdr","ros-jazzy-fastrtps","ros-jazzy-fastrtps-cmake-module","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-dds-common","ros-jazzy-rmw-fastrtps-shared-cpp","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-typesupport-introspection-c","ros-jazzy-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117135259,"md5":"63dc172efe79b538453888ad40ce143b","name":"ros-jazzy-rmw-fastrtps-dynamic-cpp","requires":[],"size":179191,"version":"8.4.1","binstar":{"package_id":"667558b67248a85a416e10ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d2a58d6539c69707df36ee09544b7ed1d1c00ad8855f48eae41b9de63f709256"},"ros-jazzy-sensor-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117141488,"md5":"acd018f520b786bfbbfed55eda8b7e5b","name":"ros-jazzy-sensor-msgs","requires":[],"size":559739,"version":"5.3.5","binstar":{"package_id":"667558b728e9267efdfc97cc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6148f3ea09b4103c07a3cb18cf147c7e204d786893d0abf0a3a07acd20961418"},"ros-jazzy-tf2-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-cpp","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117141590,"md5":"be99791d20d3f6b05df7fcc0454165f1","name":"ros-jazzy-tf2","requires":[],"size":130007,"version":"0.36.7","binstar":{"package_id":"667558b81c6d3f3276a862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"939dfaedc9436c8776eb7a3815df1b98e665dbb4868d6b6df6baa5540f5915bd"},"ros-jazzy-rmw-implementation-2.15.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw-connextdds","ros-jazzy-rmw-cyclonedds-cpp","ros-jazzy-rmw-fastrtps-cpp","ros-jazzy-rmw-fastrtps-dynamic-cpp","ros-jazzy-rmw-implementation-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117390211,"md5":"53088b1adff54034edb551903aa223b4","name":"ros-jazzy-rmw-implementation","requires":[],"size":54434,"version":"2.15.4","binstar":{"package_id":"667559a01ce5d6200723b4eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4979fc41e2357acefec667e643cf9c44dd91f4dc0dc9a7477187d5ea5981dbc7"},"ros-jazzy-sensor-msgs-py-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117413039,"md5":"03b307c63d5f1056dde62ce427da6a75","name":"ros-jazzy-sensor-msgs-py","requires":[],"size":30243,"version":"5.3.5","binstar":{"package_id":"667559a1ee29441898ec0013","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1d9539288fde2b959fb1b8f4397f3021413491c4eae8a23017ed669999bc7e22"},"ros-jazzy-stereo-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117399919,"md5":"877d821880faea989b55e9665c5b81bf","name":"ros-jazzy-stereo-msgs","requires":[],"size":85915,"version":"5.3.5","binstar":{"package_id":"667559a37248a85a416e10d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ed492c72f8c61fd1bb305ce55c199316f5518752aecf212649b1c95632c783ce"},"ros-jazzy-tf2-eigen-kdl-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","ros-jazzy-orocos-kdl-vendor","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117401818,"md5":"dd9e4d521aec146bd217dc4f7ac5f7a5","name":"ros-jazzy-tf2-eigen-kdl","requires":[],"size":40195,"version":"0.36.7","binstar":{"package_id":"667559a4183e39764b23b4ec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"adf1c08958c34e08b333c2e29e5b44bb4b0993e2fe246a192dfbcc8e13c4153e"},"ros-jazzy-visualization-msgs-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117399349,"md5":"71be2359329f10c3812ede03a13cbed1","name":"ros-jazzy-visualization-msgs","requires":[],"size":378909,"version":"5.3.5","binstar":{"package_id":"667559a5183e39764b23b4ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ace202c1d708182ddb06e9d929562f6d2a6e7581d8a371484c9e19b73c735b13"},"ros-jazzy-common-interfaces-5.3.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-actionlib-msgs","ros-jazzy-builtin-interfaces","ros-jazzy-diagnostic-msgs","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-shape-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-stereo-msgs","ros-jazzy-trajectory-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117678053,"md5":"0852583cc096e7eb98b030641c6947fe","name":"ros-jazzy-common-interfaces","requires":[],"size":24946,"version":"5.3.5","binstar":{"package_id":"667559e74aa2bfcb836e10c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"df0eecab39c4dca86e7f09d11200a46c3ebb9b92f89023fdd3a84e02eeef650d"},"ros-jazzy-rcl-9.2.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-libyaml-vendor","ros-jazzy-rcl-interfaces","ros-jazzy-rcl-logging-interface","ros-jazzy-rcl-logging-spdlog","ros-jazzy-rcl-yaml-param-parser","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-implementation","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros-jazzy-service-msgs","ros-jazzy-tracetools","ros-jazzy-type-description-interfaces","ros2-distro-mutex 0.6.* jazzy_*","yaml","yaml-cpp","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","yaml >=0.2.5,<0.3.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","yaml-cpp >=0.8.0,<0.9.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117674920,"md5":"29222171e7f56a0a034b493e4cfb0928","name":"ros-jazzy-rcl","requires":[],"size":205965,"version":"9.2.4","binstar":{"package_id":"667559e8bba1dce73d23b4eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c2c6f87833d98c333e990f8de054758c7e12c309aaffae9c624b02171eada743"},"ros-jazzy-libstatistics-collector-1.7.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-rcl","ros-jazzy-rcpputils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-statistics-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118133880,"md5":"676e832f25ff74a79d2c212a45e7a5aa","name":"ros-jazzy-libstatistics-collector","requires":[],"size":54836,"version":"1.7.4","binstar":{"package_id":"667563fa11d9f171577e603c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"334aef12d4e0cc42583aad64a4903fa02a0470662123aac5ac5bf23c12dfbb0f"},"ros-jazzy-rcl-action-9.2.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-rcl","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118136298,"md5":"3cfa7c96477275167aced49346a7a2f0","name":"ros-jazzy-rcl-action","requires":[],"size":78857,"version":"9.2.4","binstar":{"package_id":"667563fc62643526347e603a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1fa16a40ef7dad44fa20e6d7fce6a6a076617f748cdee542bd570834244b99f9"},"ros-jazzy-rcl-lifecycle-9.2.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-lifecycle-msgs","ros-jazzy-rcl","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118129715,"md5":"c278cfdce142a355410a829e5c7615df","name":"ros-jazzy-rcl-lifecycle","requires":[],"size":57133,"version":"9.2.4","binstar":{"package_id":"667563fde6378210207e603b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fb8c0ecd3ae911fcb7c546cf9227074372f56bc3612a9832db34b5fa62b52549"},"ros-jazzy-rclcpp-28.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-builtin-interfaces","ros-jazzy-libstatistics-collector","ros-jazzy-rcl","ros-jazzy-rcl-interfaces","ros-jazzy-rcl-logging-interface","ros-jazzy-rcl-yaml-param-parser","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosgraph-msgs","ros-jazzy-rosidl-dynamic-typesupport","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-c","ros-jazzy-rosidl-typesupport-cpp","ros-jazzy-statistics-msgs","ros-jazzy-tracetools","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118321080,"md5":"8d0a36ef32413b87583bc73f90be1e55","name":"ros-jazzy-rclcpp","requires":[],"size":1051939,"version":"28.1.6","binstar":{"package_id":"667564db12fd2a45bb74d8a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ddf2e3023d3691549d233df700b634eb3e6ba021431d82a08f37f42758787f4"},"ros-jazzy-rclpy-7.1.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-action-msgs","ros-jazzy-ament-index-python","ros-jazzy-builtin-interfaces","ros-jazzy-lifecycle-msgs","ros-jazzy-rcl","ros-jazzy-rcl-action","ros-jazzy-rcl-interfaces","ros-jazzy-rcl-lifecycle","ros-jazzy-rcl-logging-interface","ros-jazzy-rcl-yaml-param-parser","ros-jazzy-rmw","ros-jazzy-rmw-implementation","ros-jazzy-ros-workspace","ros-jazzy-rosgraph-msgs","ros-jazzy-rosidl-runtime-c","ros-jazzy-rpyutils","ros-jazzy-unique-identifier-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118331497,"md5":"0dc4c9d31dc638d68e50de0b5d60d456","name":"ros-jazzy-rclpy","requires":[],"size":600195,"version":"7.1.3","binstar":{"package_id":"667564ddb473691d5cd428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fd941fdffe3f0c0486b4168d35be342e901a66b7755d87bf2f898f5d07ac42cb"},"ros-jazzy-rclcpp-action-28.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ament-cmake","ros-jazzy-rcl","ros-jazzy-rcl-action","ros-jazzy-rclcpp","ros-jazzy-rcpputils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118607880,"md5":"baf13f5d75a1c7ce034355226fd6b950","name":"ros-jazzy-rclcpp-action","requires":[],"size":109292,"version":"28.1.6","binstar":{"package_id":"6675652842463ba6eaecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f0ccc52a56560afb9a1b58ad940795441f90a67cc6be80896c5cd9e5b818cfea"},"ros-jazzy-tf2-py-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rpyutils","ros-jazzy-tf2","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118611435,"md5":"f962bf417a4e46226692fac95fc7c53b","name":"ros-jazzy-tf2-py","requires":[],"size":55504,"version":"0.36.7","binstar":{"package_id":"66756529adafcbac3505ef06","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9ebc2cfbcaf37046bab7f8384620b089c9e1599b325a9618a3169208fdd9badf"},"ros-jazzy-launch-ros-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["importlib-metadata","python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-composition-interfaces","ros-jazzy-launch","ros-jazzy-lifecycle-msgs","ros-jazzy-osrf-pycommon","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118611098,"md5":"141fede9248660ce58c375a409cdba98","name":"ros-jazzy-launch-ros","requires":[],"size":125239,"version":"0.26.6","binstar":{"package_id":"667565550d17e7c9e505ef04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"39b1e1e6f7c927bcddc221ea08d81b82ef4e53006d396f8aaec8b3324febd297"},"ros-jazzy-rclcpp-components-28.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-class-loader","ros-jazzy-composition-interfaces","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118609711,"md5":"514fecd94254b25bf09ae567d14e4eb8","name":"ros-jazzy-rclcpp-components","requires":[],"size":140784,"version":"28.1.6","binstar":{"package_id":"6675655662643526347e603f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9796f56f99acad52378935efd64431e38c635f8708c5b80631058bb22f819d2e"},"ros-jazzy-rclcpp-lifecycle-28.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-lifecycle-msgs","ros-jazzy-rcl","ros-jazzy-rcl-interfaces","ros-jazzy-rcl-lifecycle","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-typesupport-cpp","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118608407,"md5":"e0331487e10c84cd1760c0824decaa71","name":"ros-jazzy-rclcpp-lifecycle","requires":[],"size":125788,"version":"28.1.6","binstar":{"package_id":"667565578b21dec46674d8a0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3533756d41676200c3b0efe918f79bae5ca35041bbd742116c55e2eb2733a775"},"ros-jazzy-ros2cli-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["argcomplete","importlib-metadata","packaging","psutil","python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118611830,"md5":"d3aeeeab28bf3ece5eafaac8060bc3a8","name":"ros-jazzy-ros2cli","requires":[],"size":76751,"version":"0.32.2","binstar":{"package_id":"6675655811d9f171577e6042","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5a78950186ff4d241572e99f5182837fa92f6367e72ca82c5b81a8535f053121"},"ros-jazzy-rosbag2-test-common-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-test-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118611146,"md5":"e9c12b3553a71b7835ba2766299e9269","name":"ros-jazzy-rosbag2-test-common","requires":[],"size":47033,"version":"0.26.6","binstar":{"package_id":"667565599459a6c7078f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"555bd0222f8f3ebaa3e1fae2a00531fd99f4ed6c3b863fb4458e25b4b561afd4"},"ros-jazzy-ros2multicast-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118945073,"md5":"f7ea3f7e70b42c6670748ff6071ac5db","name":"ros-jazzy-ros2multicast","requires":[],"size":25162,"version":"0.32.2","binstar":{"package_id":"667565919459a6c7078f3f2b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"48a613d9484ff4310df95c87b4221af0f86df17b77ccbb57b87f749e351efdb4"},"ros-jazzy-launch-testing-ros-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-launch-ros","ros-jazzy-launch-testing","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118944886,"md5":"abc7f09cdb4a1b429fd519c0b9b589a0","name":"ros-jazzy-launch-testing-ros","requires":[],"size":51991,"version":"0.26.6","binstar":{"package_id":"667565cc0005c4c8a48f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"90c0ed82df65a10e95a9790ddafd11d03cf804f74d973161d655ef117fb703d1"},"ros-jazzy-message-filters-4.11.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclpy","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118946190,"md5":"a13e2ee86f5d0387499e7aa0d549a541","name":"ros-jazzy-message-filters","requires":[],"size":77129,"version":"4.11.3","binstar":{"package_id":"667565d03c52e400df7e603b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3bd00703a5a891ee5638df82ae5a5d8633ce771b5e313e373d268b98079a33a4"},"ros-jazzy-ros2lifecycle-test-fixtures-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118946013,"md5":"5070fba96d44eb7f354261a75dacac43","name":"ros-jazzy-ros2lifecycle-test-fixtures","requires":[],"size":45290,"version":"0.32.2","binstar":{"package_id":"667565d15db09bb2ddd428d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"faf84180ce20070ecc45808f46c182c285d9ee1d43c2fcb3d191dc0f0ac4a2f0"},"ros-jazzy-rosbag2-storage-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118946007,"md5":"7989c70667c85e310d5449b12ce2bf50","name":"ros-jazzy-rosbag2-storage","requires":[],"size":277646,"version":"0.26.6","binstar":{"package_id":"667565d3e0ff001ead05ef06","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ed72887268f8b454ece32c98811cd85e6bc35eee1717d2d3cde3233b5634940d"},"ros-jazzy-tf2-ros-py-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-tf2-msgs","ros-jazzy-tf2-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118943522,"md5":"bc717fa31670412a6ab7787e056b91d3","name":"ros-jazzy-tf2-ros-py","requires":[],"size":48819,"version":"0.36.7","binstar":{"package_id":"667565d530d0b1886474d8a5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"32ac6ce819cacc593c5a537e520cb9319c67aa515b6f242d29ae336137142c76"},"ros-jazzy-ros2action-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119446938,"md5":"0c1caca0fad4cb31fb5e9dd693fa4bec","name":"ros-jazzy-ros2action","requires":[],"size":45983,"version":"0.32.2","binstar":{"package_id":"6675661c8368fee6d4d428d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b18232479ae33afcbfaffd15d7841362bf9ff97d884122404796e4f83a5cf5bc"},"ros-jazzy-tf2-tools-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["graphviz","python","pyyaml","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-tf2-msgs","ros-jazzy-tf2-py","ros-jazzy-tf2-ros-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119446749,"md5":"82881ffcf5a34520ab4258bf6ba5197d","name":"ros-jazzy-tf2-tools","requires":[],"size":23559,"version":"0.36.7","binstar":{"package_id":"6675661db4dec4cfa67e603e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"86ec3741d21a83ab554864005e1280c8f222b7d3a391cf051aecaad1c7d03c04"},"ros-jazzy-ros2doctor-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","importlib-metadata","psutil","python","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-environment","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","rosdistro","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119442423,"md5":"ef3208bb5a3a5959ee74caba6b64ddb8","name":"ros-jazzy-ros2doctor","requires":[],"size":68345,"version":"0.32.2","binstar":{"package_id":"6675663aadafcbac3505ef08","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2861616000c73325e1a29a689cef1b530eeb3bc6d04296cbcfab18f1b4c5621c"},"ros-jazzy-ros2interface-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-adapter","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119441942,"md5":"08c68c71ca04c6f7e1e2251f5a0cdf6c","name":"ros-jazzy-ros2interface","requires":[],"size":46308,"version":"0.32.2","binstar":{"package_id":"6675663ccfebff9e53ecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb6324590bb2c82807b305cb49e445f12e9df737fcb3f6ceff841d61ee666650"},"ros-jazzy-ros2node-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119440272,"md5":"b410ebae8eec883454f277430609a954","name":"ros-jazzy-ros2node","requires":[],"size":42716,"version":"0.32.2","binstar":{"package_id":"6675663dc38b408aa38f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9a277925e6dfe80bcd4c2a902446706b03ffffc92ed99931b7da0fd130d42f8d"},"ros-jazzy-ros2pkg-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","empy","importlib_resources","python","ros-jazzy-ament-copyright","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119441494,"md5":"c0c38781990085391ae2ec212860481f","name":"ros-jazzy-ros2pkg","requires":[],"size":57651,"version":"0.32.2","binstar":{"package_id":"6675663eebab3d2a707e603e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"88d9244cb5aec26b98319a9f0809051e1b630744c6f2050e5d9a47686df266d7"},"ros-jazzy-ros2service-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119438347,"md5":"3d914d13150496bc12f60d4578a67828","name":"ros-jazzy-ros2service","requires":[],"size":51057,"version":"0.32.2","binstar":{"package_id":"6675663fadafcbac3505ef0a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0b938fe1aa6b468be50bbc82a8958d3cde04501ab9db7ce276dd6bf321b4501e"},"ros-jazzy-ros2test-0.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-domain-coordinator","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-launch-testing","ros-jazzy-launch-testing-ros","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119444522,"md5":"4fe939aaa5a3fcd746f542cd89cad144","name":"ros-jazzy-ros2test","requires":[],"size":34069,"version":"0.6.0","binstar":{"package_id":"66756674cfebff9e53ecef16","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3b6e72ff843142989d398308eaba9c9ba861cf07a3cc45c66430e843a03d1b13"},"ros-jazzy-ros2topic-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","pyyaml","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119436268,"md5":"b1f1679ab4087615514b7c4ae1ca2e78","name":"ros-jazzy-ros2topic","requires":[],"size":73476,"version":"0.32.2","binstar":{"package_id":"66756676401c9bca4cecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b45514baa6fb6ecd64c2071892729889653e2358281a6eadca8c2ac8ca96c19c"},"ros-jazzy-rosbag2-storage-mcap-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-mcap-vendor","ros-jazzy-pluginlib","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-storage","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119443470,"md5":"8d098db707f2eea527e33d81299f0c1b","name":"ros-jazzy-rosbag2-storage-mcap","requires":[],"size":199926,"version":"0.26.6","binstar":{"package_id":"6675667aee5d41cd0a2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"25dacc7ea2ab7ffe9f444283403f06a71fbc4f2d6d5b9e81ccce56ad019a9dfc"},"ros-jazzy-rosbag2-storage-sqlite3-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-storage","ros-jazzy-sqlite3-vendor","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119443194,"md5":"6a6e7d67b7175acdcd16225280c7fa2c","name":"ros-jazzy-rosbag2-storage-sqlite3","requires":[],"size":243516,"version":"0.26.6","binstar":{"package_id":"6675667cbc0b92384a2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"840099e9391f1f3ea286e1b8c309155db619870eaa20b07b9e31cfa803594aee"},"ros-jazzy-tf2-ros-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-message-filters","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119443206,"md5":"f4b2b22577d14c4806e3f513385478f9","name":"ros-jazzy-tf2-ros","requires":[],"size":481596,"version":"0.36.7","binstar":{"package_id":"6675668086a766acf9ecef15","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ae17c5377ea7bb9d5c3599eca4d7a5fc0fa7d271a321ac1a40917310d773788"},"ros-jazzy-tf2-bullet-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["bullet","python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119810313,"md5":"57a9db712780933f0005f1e01b95b4ae","name":"ros-jazzy-tf2-bullet","requires":[],"size":42236,"version":"0.36.7","binstar":{"package_id":"667566c75505ae675c9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1dea6fb081857c27e4bab88bf0f024dad2b9d5d8855820af428978218f26a4ba"},"ros-jazzy-tf2-sensor-msgs-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","numpy","python","ros-jazzy-eigen3-cmake-module","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-sensor-msgs-py","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-tf2-ros-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119804946,"md5":"e976ba16a8fee019a9bdbf899fb46ea5","name":"ros-jazzy-tf2-sensor-msgs","requires":[],"size":47819,"version":"0.36.7","binstar":{"package_id":"667566c9687d8fb0489f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ab82a45efff2c910494c6653a99dff0a7b6f885cb0130c4f0ceed5936ca7bd29"},"ros-jazzy-ros-testing-0.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-launch-testing","ros-jazzy-launch-testing-ament-cmake","ros-jazzy-launch-testing-ros","ros-jazzy-ros-workspace","ros-jazzy-ros2test","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119793115,"md5":"8d41d37b4b1032f9a91014c6d4e278cc","name":"ros-jazzy-ros-testing","requires":[],"size":36333,"version":"0.6.0","binstar":{"package_id":"667566e5da8f98fa7cecef14","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1517920cd0f5ccc5fcb04b3412bbdc858cfad0b1f14ba627e7a7ed9f486d7ede"},"ros-jazzy-ros2launch-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-launch-xml","ros-jazzy-launch-yaml","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2pkg","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119796765,"md5":"e6b4551706abf981ba64a099cc37b9f5","name":"ros-jazzy-ros2launch","requires":[],"size":46056,"version":"0.26.6","binstar":{"package_id":"667566e875511e7fcc9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"317d12f429ba22137cc3fa2d414fe72a97ca99971e2632d554671c9056597c05"},"ros-jazzy-ros2lifecycle-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-lifecycle-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2node","ros-jazzy-ros2service","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119794808,"md5":"6f90c50210ec5d724b5a9812dda1016c","name":"ros-jazzy-ros2lifecycle","requires":[],"size":44893,"version":"0.32.2","binstar":{"package_id":"667566ea1ab8f2d984d428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0757bd555174810b3f77e5aa3d5c94b260cd1be93838c4a4d4b09022c3909baf"},"ros-jazzy-ros2param-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcl-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2node","ros-jazzy-ros2service","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119796460,"md5":"92ef0985bc211e89252ee738404998d7","name":"ros-jazzy-ros2param","requires":[],"size":50070,"version":"0.32.2","binstar":{"package_id":"667566ec7a9b2478f19f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0cb5f687e7b460b00b98df27f44306762149bc51887da77c4c00e9c6d89c8ece"},"ros-jazzy-ros2run-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2pkg","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119792410,"md5":"4e517d4e3f3a1d6175a9922c2194911a","name":"ros-jazzy-ros2run","requires":[],"size":24273,"version":"0.32.2","binstar":{"package_id":"667566ee878498f0f8b85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46a04ee81d8beeee4b1acb081518c32dd7dfa81fda8b68f22687fc3b0959f079"},"ros-jazzy-robot-state-publisher-3.3.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-kdl-parser","ros-jazzy-orocos-kdl-vendor","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-tf2-ros","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119791405,"md5":"1e5cfdc86a4c900ce9698044c248ebd8","name":"ros-jazzy-robot-state-publisher","requires":[],"size":269599,"version":"3.3.3","binstar":{"package_id":"667566f5795dd318e0ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fc5db2525591622307ba23e48d20db1254b08d8dff76789516080c4ac750e6be"},"ros-jazzy-rosbag2-storage-default-plugins-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-storage-mcap","ros-jazzy-rosbag2-storage-sqlite3","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119799857,"md5":"b82a5175a63c4997b811fb10de5378df","name":"ros-jazzy-rosbag2-storage-default-plugins","requires":[],"size":20699,"version":"0.26.6","binstar":{"package_id":"667566f825603a3d39ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"76e9b4fb4e2176b45ee69eb4243d27dab853c6e28c8e1d4e13a5c6dae8150d33"},"ros-jazzy-tf2-eigen-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119804465,"md5":"b0bdfef3d4bb6a051a89f5fe77e6c404","name":"ros-jazzy-tf2-eigen","requires":[],"size":43805,"version":"0.36.7","binstar":{"package_id":"667566fb39c3d39b8d2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d6bcb69ec09fc758dde2b2fe28430396077838cdc21760b327b15898f8e5679a"},"ros-jazzy-tf2-geometry-msgs-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","ros-jazzy-geometry-msgs","ros-jazzy-orocos-kdl-vendor","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-tf2-ros-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119802126,"md5":"982fd47f31df5910b117dc6b8d64e566","name":"ros-jazzy-tf2-geometry-msgs","requires":[],"size":55856,"version":"0.36.7","binstar":{"package_id":"667566fc5505ae675c9f4a2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c4ee3c7367746bfb5a5cdb4d81409e623f9d0423f20a1b8f71249ec75c70680a"},"ros-jazzy-tf2-kdl-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-orocos-kdl-vendor","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-tf2-ros-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119800755,"md5":"636af77a268c8b73aa2422ce11eaaff7","name":"ros-jazzy-tf2-kdl","requires":[],"size":44160,"version":"0.36.7","binstar":{"package_id":"667566fe2f207b1976ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9a258d6c5742c5de0e85d3b286806a9b3037b830b393ed36f59eb9531242bbad"},"ros-jazzy-geometry2-0.36.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-bullet","ros-jazzy-tf2-eigen","ros-jazzy-tf2-eigen-kdl","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros-jazzy-tf2-msgs","ros-jazzy-tf2-py","ros-jazzy-tf2-ros","ros-jazzy-tf2-sensor-msgs","ros-jazzy-tf2-tools","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120149783,"md5":"3636a198433547dcd4b1eaede590e277","name":"ros-jazzy-geometry2","requires":[],"size":20769,"version":"0.36.7","binstar":{"package_id":"6675676912fd2a45bb74d8ae","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"906d15cdc27e1662f26c4e240caf5c83bc1ac1165bdbb7f08a51366b960f1f4b"},"ros-jazzy-ros2component-0.32.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-composition-interfaces","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp-components","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2node","ros-jazzy-ros2param","ros-jazzy-ros2pkg","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120144741,"md5":"232745a79630e4c64709ba7910951f2b","name":"ros-jazzy-ros2component","requires":[],"size":38276,"version":"0.32.2","binstar":{"package_id":"6675676c4dff35ef709f4a2b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"da8c8f7726e29de4336c64e3f41582550d15294c949c2b5a04bd7fb09af16e85"},"ros-jazzy-rosbag2-cpp-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-rmw-implementation","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-storage","ros-jazzy-rosidl-runtime-c","ros-jazzy-rosidl-runtime-cpp","ros-jazzy-rosidl-typesupport-cpp","ros-jazzy-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120141901,"md5":"4b3e10434dc86d01a924d72ecb55c867","name":"ros-jazzy-rosbag2-cpp","requires":[],"size":336711,"version":"0.26.6","binstar":{"package_id":"6675676e8368fee6d4d428d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d38b1a520786183b2abf939fcb8c89dc48ca85c8984069a94900e15cf2bd50c3"},"ros-jazzy-sros2-0.13.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["argcomplete","cryptography","importlib_resources","lxml","python","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120143746,"md5":"a1ed01249787b1645322800983c711bb","name":"ros-jazzy-sros2","requires":[],"size":75987,"version":"0.13.2","binstar":{"package_id":"66756770b646f9b385b85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c108255beccf7204e72a0161e915b227e681a6fff6a59b0f9622051cd71f5c60"},"ros-jazzy-ros2cli-common-extensions-0.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-launch-xml","ros-jazzy-launch-yaml","ros-jazzy-ros-workspace","ros-jazzy-ros2action","ros-jazzy-ros2cli","ros-jazzy-ros2component","ros-jazzy-ros2doctor","ros-jazzy-ros2interface","ros-jazzy-ros2launch","ros-jazzy-ros2lifecycle","ros-jazzy-ros2multicast","ros-jazzy-ros2node","ros-jazzy-ros2param","ros-jazzy-ros2pkg","ros-jazzy-ros2run","ros-jazzy-ros2service","ros-jazzy-ros2topic","ros-jazzy-sros2","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120542249,"md5":"933d5246abeb767afff05586ea47fa39","name":"ros-jazzy-ros2cli-common-extensions","requires":[],"size":25035,"version":"0.3.0","binstar":{"package_id":"667567c99c704a24759f4a2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c155002a1b3697a04d4056c7b7a0d2cb04289d94f6ca0de6d5ff54e7dda9f3e9"},"ros-jazzy-rosbag2-compression-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-cpp","ros-jazzy-rosbag2-storage","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120541731,"md5":"1378185d26b0f10bb540ae85d192aaff","name":"ros-jazzy-rosbag2-compression","requires":[],"size":198602,"version":"0.26.6","binstar":{"package_id":"667567caa4dcceecbbee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e41f2c892fe05b82637d10ab14d8db68a84d5bc911217dcff1eb13b100046449"},"ros-jazzy-sros2-cmake-0.13.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-sros2","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120550836,"md5":"1d7caf3097c24af9e6d6d459746cd1dd","name":"ros-jazzy-sros2-cmake","requires":[],"size":36415,"version":"0.13.2","binstar":{"package_id":"667567cb61e7b2aa7aee03c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d49250a18945f8e4c3126fbbc82a897a615d0b5432af1c92b4a8a6c95e5fe678"},"ros-jazzy-ros-core-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ament-cmake-auto","ros-jazzy-ament-cmake-gmock","ros-jazzy-ament-cmake-gtest","ros-jazzy-ament-cmake-pytest","ros-jazzy-ament-cmake-ros","ros-jazzy-ament-index-cpp","ros-jazzy-ament-index-python","ros-jazzy-ament-lint-auto","ros-jazzy-ament-lint-common","ros-jazzy-class-loader","ros-jazzy-common-interfaces","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-launch-testing","ros-jazzy-launch-testing-ament-cmake","ros-jazzy-launch-testing-ros","ros-jazzy-launch-xml","ros-jazzy-launch-yaml","ros-jazzy-pluginlib","ros-jazzy-rcl-lifecycle","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rclpy","ros-jazzy-ros-environment","ros-jazzy-ros-workspace","ros-jazzy-ros2cli-common-extensions","ros-jazzy-ros2launch","ros-jazzy-rosidl-default-generators","ros-jazzy-rosidl-default-runtime","ros-jazzy-sros2","ros-jazzy-sros2-cmake","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121083381,"md5":"3c713cd57bdda558d17a944b24c82d8d","name":"ros-jazzy-ros-core","requires":[],"size":21360,"version":"0.11.0","binstar":{"package_id":"66756872e84fd49cacb85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d0751c97deee32e9feb454c4ceb69c9dc452d904dcb5c799b0d4a6cea54b10f6"},"ros-jazzy-rosbag2-compression-zstd-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-compression","ros-jazzy-zstd-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121089106,"md5":"56c83d402c4d15a9a1c5342535bf0686","name":"ros-jazzy-rosbag2-compression-zstd","requires":[],"size":66817,"version":"0.26.6","binstar":{"package_id":"66756875d19e4472c82b635b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f3795d48a38122cad347ef0e6560b44b10d78822c5bb8fc69ffde63edbd0aaf6"},"ros-jazzy-rosbag2-py-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pybind11-vendor","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-compression","ros-jazzy-rosbag2-cpp","ros-jazzy-rosbag2-storage","ros-jazzy-rosbag2-transport","ros-jazzy-rpyutils","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121816343,"md5":"78422b3ef70cd9561f4e6f84a1b35007","name":"ros-jazzy-rosbag2-py","requires":[],"size":661569,"version":"0.26.6","binstar":{"package_id":"667568788094b58af26d0c8e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3c36cd93401369ec163220b81e3a9b00547e85a9e793225c672ab62e8efaf466"},"ros-jazzy-rosbag2-transport-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-keyboard-handler","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-compression","ros-jazzy-rosbag2-cpp","ros-jazzy-rosbag2-interfaces","ros-jazzy-rosbag2-storage","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121520950,"md5":"d04f7a1e126e1ca7b0b2f5c031c490a3","name":"ros-jazzy-rosbag2-transport","requires":[],"size":512350,"version":"0.26.6","binstar":{"package_id":"6675688d30d72cf00ad428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6c9a99980ba91ae3f6e87762b749387ead0084d63fb59fa169c90f415082773a"},"ros-jazzy-ros-base-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry2","ros-jazzy-kdl-parser","ros-jazzy-robot-state-publisher","ros-jazzy-ros-core","ros-jazzy-ros-workspace","ros-jazzy-rosbag2","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123102969,"md5":"cf434ef1e5ae8eb64ec1af60e8169d64","name":"ros-jazzy-ros-base","requires":[],"size":20702,"version":"0.11.0","binstar":{"package_id":"667568dd4082f06455b9f15e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a4828be6041f31cd19f91af0f6bca17ead39ca4a959b48ce3205f8d013f8c4a5"},"ros-jazzy-ros2bag-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosbag2-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122103284,"md5":"411202564921d73318281311388cc613","name":"ros-jazzy-ros2bag","requires":[],"size":69665,"version":"0.26.6","binstar":{"package_id":"667568deee5d41cd0a2c5d64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d26e5d8918a4d476dada3e30c2ac8f6d2bf5c861fb3dab664ee7f6265035e458"},"ros-jazzy-rosbag2-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2bag","ros-jazzy-rosbag2-compression","ros-jazzy-rosbag2-compression-zstd","ros-jazzy-rosbag2-cpp","ros-jazzy-rosbag2-py","ros-jazzy-rosbag2-storage","ros-jazzy-rosbag2-storage-default-plugins","ros-jazzy-rosbag2-transport","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122821468,"md5":"10a09b218e208d62b7385d2d98b48303","name":"ros-jazzy-rosbag2","requires":[],"size":33603,"version":"0.26.6","binstar":{"package_id":"667568df46886cd670aa1de2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"701973d32960197d02380954f0b144afc6fc10dc7aebbd75e312281ddd2d1362"},"ros-jazzy-rosbag2-tests-0.26.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122381712,"md5":"3b7c00798a37544312317a10b0f7d6ae","name":"ros-jazzy-rosbag2-tests","requires":[],"size":39990,"version":"0.26.6","binstar":{"package_id":"667568e089a0a00d43ee03c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9bf81bf6e377ea7edbdff167c5a767a5f859fd89a0b8fe707cfd87ad8ccf42a6"},"ros-jazzy-image-geometry-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["deprecated","libopencv","py-opencv","python","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","py-opencv >=4.10.0,<5.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117392605,"md5":"62dccb96f3fe6ee0be5551d1fc8532db","name":"ros-jazzy-image-geometry","requires":[],"size":79874,"version":"4.1.0","binstar":{"package_id":"66756da64b132e6fb114a0fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b3e487aae4402732eff9172953f55c8fca80d3fd54dd614327588d58c8418be0"},"ros-jazzy-examples-rclcpp-multithreaded-executor-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118621417,"md5":"bf17bd5553b35e5c39b589de39e11e34","name":"ros-jazzy-examples-rclcpp-multithreaded-executor","requires":[],"size":168003,"version":"0.19.4","binstar":{"package_id":"66756da8ac2b9777ec14a0fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2c3f6e0e9c3e9a57bc8e03f4071171dd9694aa51979cc3a15b8d41ddb06dacb0"},"ros-jazzy-pcl-msgs-1.0.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117392702,"md5":"9cc44e2a0cc775eff58c59c9a44983f6","name":"ros-jazzy-pcl-msgs","requires":[],"size":173806,"version":"1.0.0","binstar":{"package_id":"66756da8c4aa987a63ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8681a47f95beaf11a1c920984f1ed96e23089d18461c24d4cb3c19653c17812d"},"ros-jazzy-examples-rclpy-executors-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118620612,"md5":"048b272bc2d9b3747824dcebbfd26c7d","name":"ros-jazzy-examples-rclpy-executors","requires":[],"size":27620,"version":"0.19.4","binstar":{"package_id":"66756daaef58f981caf03a51","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4eeddaa73fbfd89bcb4fa2a7db6b9445b844d493666d5d372a2c7b13c4d5f280"},"ros-jazzy-rttest-0.17.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113193145,"md5":"f74b1b0adc83c25c792629b3a246e387","name":"ros-jazzy-rttest","requires":[],"size":53142,"version":"0.17.0","binstar":{"package_id":"66756dab542e4dbba38ce549","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2cdaaf279a313a044300376f194ec3e6a886f9d641dfc5b4abff89fbe981b9eb"},"ros-jazzy-examples-rclpy-minimal-publisher-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118613309,"md5":"aed6ff67e02db5a282d6631b20db5184","name":"ros-jazzy-examples-rclpy-minimal-publisher","requires":[],"size":21740,"version":"0.19.4","binstar":{"package_id":"66756daba4dcceecbbee03ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4bed1ad0e9db1c6825da4d25dab050643d3fc7ace90b2265cf6465d79508fae7"},"ros-jazzy-teleop-twist-keyboard-2.4.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118612736,"md5":"fe608408dc2d60aa959b30d20ad22eeb","name":"ros-jazzy-teleop-twist-keyboard","requires":[],"size":22405,"version":"2.4.0","binstar":{"package_id":"66756dadc6d1458eac51b582","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc20d3b3d7ff9376b2876553e7512861ccf5f15bb6e21123b5392527b7ee4ca3"},"ros-jazzy-examples-rclpy-minimal-subscriber-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118604488,"md5":"0255f8633b7695d1109344a96851312a","name":"ros-jazzy-examples-rclpy-minimal-subscriber","requires":[],"size":21240,"version":"0.19.4","binstar":{"package_id":"66756dae78625d52798ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1d17b0b9e17f7a5d0cadbc695a5826f65fbf350762513ead0e070dcbb8ebbd3b"},"ros-jazzy-image-tools-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","py-opencv >=4.10.0,<5.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119436745,"md5":"bbdf3ccb98da80d26f0d31a8ce906bfc","name":"ros-jazzy-image-tools","requires":[],"size":294907,"version":"0.33.5","binstar":{"package_id":"66756daffe5014cb182c5d5b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"65406607a8bdba15426acb7260ddb9a0fac16a21fe3055676fd8fa0a4874d296"},"ros-jazzy-tlsf-0.9.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113212676,"md5":"4acd304cdc2610083ae7d3617665c23c","name":"ros-jazzy-tlsf","requires":[],"size":31222,"version":"0.9.0","binstar":{"package_id":"66756db442233b5cf4aa1de8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d165cf7545046d11e8c58ceef52f2b63aaf6e0755b894ce97e7a86d297a6bc9a"},"ros-jazzy-gz-cmake-vendor-0.0.8-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gz-cmake3","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libgz-cmake3 >=3.5.3,<4.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112838839,"md5":"978cccc0e51d149089418bf13f3295d8","name":"ros-jazzy-gz-cmake-vendor","requires":[],"size":23239,"version":"0.0.8","binstar":{"package_id":"66756dc2ffb31659d6f03a52","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"63395951a9cad8b0ec3616a02177aa168c34d9f082b2284fca69cda413d78505"},"ros-jazzy-laser-geometry-2.7.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","numpy","python","ros-jazzy-eigen3-cmake-module","ros-jazzy-rclcpp","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-sensor-msgs-py","ros-jazzy-tf2","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118614300,"md5":"2bb3cfcf72871b355d1ac759165abb37","name":"ros-jazzy-laser-geometry","requires":[],"size":59212,"version":"2.7.0","binstar":{"package_id":"66756dc3a6db11e87cee03c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"36d8b3096dfb36e36c1916fe9478eae076da3d5721f2f6add67282ed10df9284"},"ros-jazzy-map-msgs-2.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-nav-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117416805,"md5":"51c9434d4940559e87155527092271b4","name":"ros-jazzy-map-msgs","requires":[],"size":357040,"version":"2.4.1","binstar":{"package_id":"66756dc7f55dfda5a251b582","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e047fb4e2b05b4cb24b6edc9d773ae2068969bddf9220c11ac9b8529f992f09e"},"ros-jazzy-point-cloud-transport-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-message-filters","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcpputils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119446429,"md5":"cdf897d67a744ee037bea0c053f1db81","name":"ros-jazzy-point-cloud-transport","requires":[],"size":463965,"version":"4.0.3","binstar":{"package_id":"66756dcee885780c0eee03c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6181a740fabc07119c8dd839bbad724117093c7530177c02637f2c85d17b3487"},"ros-jazzy-tango-icons-vendor-0.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113197881,"md5":"72b2db4428658af4eb252a77a46af6e4","name":"ros-jazzy-tango-icons-vendor","requires":[],"size":24690,"version":"0.3.0","binstar":{"package_id":"66756dd0ab52a592462c5d5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eea4566cbcb99558cb0a7c949618762e600238c1ff0b2615cbed3d72f4df1dad"},"ros-jazzy-intra-process-demo-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","py-opencv >=4.10.0,<5.0a0","libgl >=1.7.0,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118606758,"md5":"2af18cd80cbf1d19ab0153c0c70eafc6","name":"ros-jazzy-intra-process-demo","requires":[],"size":518853,"version":"0.33.5","binstar":{"package_id":"66756dda9c941af3348ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6e2c1cb0663671440666d3fe90456c5c1a59a3bf132b74a9a7a441fcbfe4accd"},"ros-jazzy-lifecycle-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-lifecycle-msgs","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120168367,"md5":"ae71d9e40721379714653375c5a92ce1","name":"ros-jazzy-lifecycle","requires":[],"size":275197,"version":"0.33.5","binstar":{"package_id":"66756ddc42233b5cf4aa1dea","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8bb0bac651e7a44165992589961a43e2723f97502e2dd90ac39e70e863de8e0b"},"ros-jazzy-logging-demo-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119457645,"md5":"aaf718f2911dec3eb3019d20ff92aa18","name":"ros-jazzy-logging-demo","requires":[],"size":223214,"version":"0.33.5","binstar":{"package_id":"66756dde0b8eac60dd9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2dc32315bb329c896d4d2ab29945cea0d48d720e7767c05c01108e27c262930d"},"ros-jazzy-action-tutorials-interfaces-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116677153,"md5":"46592285a0520b1db5b85f5ebb8e16b6","name":"ros-jazzy-action-tutorials-interfaces","requires":[],"size":189344,"version":"0.33.5","binstar":{"package_id":"66756dde9b7e1b325c14a0fe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7cd0a9a158c19fe1058480442331a3679a8e3f36d512b8a6a5f2ee6c4aa94096"},"ros-jazzy-dummy-map-server-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-nav-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118616380,"md5":"0e2e721c6e9de5f4ac6d25d4d81dc9f3","name":"ros-jazzy-dummy-map-server","requires":[],"size":94232,"version":"0.33.5","binstar":{"package_id":"66756de0880576047aaa1de7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4dc83d1721ef899db2b1fc88bbab2f747ab337e60a555697ff2c15a9659d97ed"},"ros-jazzy-quality-of-service-demo-py-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118618455,"md5":"caa639a97275b04e44c8a7898e21d305","name":"ros-jazzy-quality-of-service-demo-py","requires":[],"size":34746,"version":"0.33.5","binstar":{"package_id":"66756de088da76b42d9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"07e89a8257e6de1786fefd9ed0a3b4f913aa24a11b893dba352eb3de3b4dcabc"},"ros-jazzy-topic-monitor-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118953861,"md5":"86610d0f445eadfee171345ee59d9f79","name":"ros-jazzy-topic-monitor","requires":[],"size":49392,"version":"0.33.5","binstar":{"package_id":"66756de203450ee206ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7bbf05b0f28ba2416a527290f7fcc460e32eb40ec383dc0f925350f6262e801d"},"ros-jazzy-dummy-sensors-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118615660,"md5":"ef670498b0a7e761f32435fc6dd67fdc","name":"ros-jazzy-dummy-sensors","requires":[],"size":119719,"version":"0.33.5","binstar":{"package_id":"66756de2dc74417f23aa1de6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ddd7ee2170c9be92a9703873c1e89a375a6411e7caa2890a887f6db9f7759074"},"ros-jazzy-pendulum-msgs-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116674891,"md5":"895e8a4eff594354c9924e5171b90068","name":"ros-jazzy-pendulum-msgs","requires":[],"size":102121,"version":"0.33.5","binstar":{"package_id":"66756de40e41b4d892899849","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"197b2bef41b7c78a52107e1f9e8bb07b1e337a995b8c09bc5fbdcdb7691c27d0"},"ros-jazzy-turtlesim-1.8.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-ament-index-cpp","ros-jazzy-geometry-msgs","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118968380,"md5":"fdcb5133ed85a313c1a33ae0aab28d6c","name":"ros-jazzy-turtlesim","requires":[],"size":945059,"version":"1.8.3","binstar":{"package_id":"66756de5256864bea9899847","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"146f1cbdeb7e92c1f7e2709a27ce5cc39c5d6ef2810f7067e11a937f34f29da1"},"ros-jazzy-demo-nodes-cpp-native-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rmw-fastrtps-cpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119458906,"md5":"6edcc7068122bd499d33d3f8587cecb6","name":"ros-jazzy-demo-nodes-cpp-native","requires":[],"size":121376,"version":"0.33.5","binstar":{"package_id":"66756dec834184236ff03a53","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a2d4e19d276f82f88d5c8163b20947c638dbc423b9ad5168dfee9878fa1cf748"},"ros-jazzy-examples-rclcpp-minimal-composition-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118969262,"md5":"ef0135dd23406ff235155dd6ced9451a","name":"ros-jazzy-examples-rclcpp-minimal-composition","requires":[],"size":191599,"version":"0.19.4","binstar":{"package_id":"66756ded25603a3d39ee03c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7100ee909d91b221caffa3460a3401fb9ba32727c37f6b63f062b2dafd225011"},"ros-jazzy-examples-rclcpp-minimal-publisher-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118624763,"md5":"12cff6ae67363a40c71ad7972fb1f053","name":"ros-jazzy-examples-rclcpp-minimal-publisher","requires":[],"size":209054,"version":"0.19.4","binstar":{"package_id":"66756dee42233b5cf4aa1dec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8db479bbebc0ae512ee2c3bbd44eaeb2f8da766fdef7a99cb1401e4f712c44cb"},"ros-jazzy-examples-rclcpp-minimal-subscriber-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118964485,"md5":"c8ba2c5f329d18cf94d494c93d6ac86c","name":"ros-jazzy-examples-rclcpp-minimal-subscriber","requires":[],"size":596441,"version":"0.19.4","binstar":{"package_id":"66756df07e40df0ae6f03a51","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9d49910a661f0114d133ecf20a0f7d79d6edccba7a611d08b8ed298f3aba8d96"},"ros-jazzy-examples-rclcpp-minimal-timer-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118622621,"md5":"c3605c75f91f9575ed7686e9407d2d4a","name":"ros-jazzy-examples-rclcpp-minimal-timer","requires":[],"size":52886,"version":"0.19.4","binstar":{"package_id":"66756df12f207b1976ee03c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4a6923c23e556977013aeab6bd6231404d691532c63af5d810052b630063a4e9"},"ros-jazzy-cv-bridge-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libboost-python","libopencv","numpy","py-opencv","python","ros-jazzy-ament-index-python","ros-jazzy-rclcpp","ros-jazzy-rcpputils","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","py-opencv >=4.10.0,<5.0a0","libopencv >=4.10.0,<4.10.1.0a0","python_abi 3.11.* *_cp311","libboost-python >=1.86.0,<1.87.0a0","libboost >=1.86.0,<1.87.0a0","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118614767,"md5":"f32e815c3d04a64e110616c272fa25e4","name":"ros-jazzy-cv-bridge","requires":[],"size":205420,"version":"4.1.0","binstar":{"package_id":"66756e019b7e1b325c14a101","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b17836c1d9390b2c66649e35b6c21c020e1c34952a57b5fe6244ada2f8a0a6ff"},"ros-jazzy-example-interfaces-0.12.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116658793,"md5":"fa84c94df8e96cf5f087512bf9c639a8","name":"ros-jazzy-example-interfaces","requires":[],"size":557699,"version":"0.12.0","binstar":{"package_id":"66756e02ff629eabab2c5d5d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4fd5b6b8fcdd24772f9d98ddb9ab984e215d0393f420de38cc9519c42e16a004"},"ros-jazzy-image-transport-5.1.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-message-filters","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119446638,"md5":"4853aaf2cc2d0635e57da20a4551f688","name":"ros-jazzy-image-transport","requires":[],"size":591546,"version":"5.1.5","binstar":{"package_id":"66756e03074cff9aae8ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ac4c0dc130d56fd91ba7bb48372fc46e5dec8cd424f9bc36c27132487e9c072e"},"ros-jazzy-interactive-markers-2.5.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rclcpp","ros-jazzy-rclpy","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120141887,"md5":"b6705d23a8afe6af2420f267ee0cf005","name":"ros-jazzy-interactive-markers","requires":[],"size":311062,"version":"2.5.4","binstar":{"package_id":"66756e044b132e6fb114a100","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cd6b54ac7ccbe3ad67a0b164a25ae992fdacad093de702331ab2093303544622"},"ros-jazzy-sdl2-vendor-3.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sdl2","libstdcxx >=14","libgcc >=14","sdl2 >=2.30.10,<3.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112192795,"md5":"136f572f17d6e0a35be1008e4dfe5136","name":"ros-jazzy-sdl2-vendor","requires":[],"size":24778,"version":"3.3.0","binstar":{"package_id":"66756e06073efbe82e2c5d5c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d78a12aca17e7c181e3911c0d99bb58f4fd2c76ff4fcb0019da68e00d7fb00a1"},"ros-jazzy-urdfdom-py-1.2.1-he8cfe8b_0.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"he8cfe8b_0","build_number":0,"depends":["urdfdom-py 1.2.1.*","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736109484198,"md5":"79337014e6a93f59c9d39e8505589d14","name":"ros-jazzy-urdfdom-py","requires":[],"size":1861,"version":"1.2.1","binstar":{"package_id":"6777b8a04d249915aae62866","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f0fc00552e9cf5897981d68bc4d96c379f911c41b9ec8ac548a7a45c517daa98"},"ros-jazzy-apriltag-3.4.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","py-opencv >=4.10.0,<5.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110204930,"md5":"dde864de8a7a234c107b3801eed0dcb0","name":"ros-jazzy-apriltag","requires":[],"size":1350589,"version":"3.4.2","binstar":{"package_id":"6777b934e487d3e8fe01b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"008e9c9f5c520615b4569b374b30906f513112edd05422b94a48969b7dd8ef4a"},"ros-jazzy-ros-industrial-cmake-boilerplate-0.5.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libclang13 >=19.1.6","gtest >=1.15.2,<1.15.3.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110196184,"md5":"ccefdfd9f50a5f88a0192355139c7334","name":"ros-jazzy-ros-industrial-cmake-boilerplate","requires":[],"size":39819,"version":"0.5.4","binstar":{"package_id":"6777b9359ebfe4a7a7e461e6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"65fb2a993746a0f2ad280d60e5d8b43011113d219c171a211023d32e2feabfd0"},"ros-jazzy-gtsam-4.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","libboost-devel","libboost-python-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tbb","tbb-devel","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","libboost-python >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","tbb >=2022.0.0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110195910,"md5":"58d724cf671a26971e58b8cff358361e","name":"ros-jazzy-gtsam","requires":[],"size":3864149,"version":"4.2.0","binstar":{"package_id":"6777bdf9c6e1dff6c53bfa4c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f7092722aa64456f507328fd631c43e0f5ad153705029d9b834b708bd166fa94"},"ros-jazzy-ompl-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","flann","libboost-devel","libboost-python-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","flann >=1.9.2,<1.9.3.0a0","python_abi 3.11.* *_cp311","libboost-python >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","ompl >=1.6.0,<1.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110208278,"md5":"c4c2dd6de20c1c5865f649d7a202fa82","name":"ros-jazzy-ompl","requires":[],"size":67683,"version":"1.6.0","binstar":{"package_id":"6777bdfdac57d54df901b10d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a6e1dc94b58a2f7c201013bd80201a3123a55a6b7418f446bb5e07f97754e16f"},"ros-jazzy-ruckig-0.9.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110195375,"md5":"b0af62f55254c58812b6e243f65d7aa5","name":"ros-jazzy-ruckig","requires":[],"size":120380,"version":"0.9.2","binstar":{"package_id":"6777bdff880560535dbbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"20fa461b50ad8610fcb3067c77e3738fa65194561ae2dcaf2f5c495b9ed7b949"},"ros-jazzy-sdformat-test-files-1.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["cmake","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110194004,"md5":"d11782fa256a75b930ead69ac5a250c4","name":"ros-jazzy-sdformat-test-files","requires":[],"size":102837,"version":"1.0.2","binstar":{"package_id":"6777be01c6e1dff6c53bfa4e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8e5f425a7ffbc5fa9c26ad2657ce6b7296ce3f13590ebf43c0b842e9b3fcef85"},"ros-jazzy-backward-ros-1.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","elfutils >=0.192,<0.193.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110893076,"md5":"a724bfcbc15802ecff410341e9504e73","name":"ros-jazzy-backward-ros","requires":[],"size":327695,"version":"1.0.6","binstar":{"package_id":"6777be81b5e0df61e2bbe835","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5b2c09e31d1b200a6f6f9dc7efb0ec07ca0e9177eea616885b6011b8c4dc3f50"},"ros-jazzy-backward-ros-1.0.7-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["elfutils","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","elfutils >=0.192,<0.193.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738833350508,"md5":"9ef0c9ba94ec86e5d39bec13e269f4f8","name":"ros-jazzy-backward-ros","requires":[],"size":332873,"version":"1.0.7","binstar":{"package_id":"6777be81b5e0df61e2bbe835","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4fd60615a73dda4340ab91b61330a32b5f9284f7adc96e0ee9b1e75c3cef9090"},"ros-jazzy-stomp-0.1.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["console_bridge","eigen","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","gtest >=1.15.2,<1.15.3.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","console_bridge >=1.0.2,<1.1.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736110890759,"md5":"433e4d990a375a81d0c4e23d1845ac7a","name":"ros-jazzy-stomp","requires":[],"size":114837,"version":"0.1.2","binstar":{"package_id":"6777be840fdc98202abbe838","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"76caec4727e22e62143165a258b74eda783d35125e57ec80c48dee6b8baf779c"},"ros-jazzy-ament-cmake-catch2-1.4.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111242326,"md5":"2bbbfeeb1de494cdc89d35d083e2c99f","name":"ros-jazzy-ament-cmake-catch2","requires":[],"size":20876,"version":"1.4.1","binstar":{"package_id":"6777becb6cc931c2af4fb93c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"92d678cc0b3a4e27e049f1c60a39de33f364c9fb0e23edba0d9545982439c410"},"ros-jazzy-generate-parameter-library-py-0.3.9-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["jinja2","python","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","typeguard","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736111815484,"md5":"0762bc7fe0b9faacef34f52324ea94a8","name":"ros-jazzy-generate-parameter-library-py","requires":[],"size":70654,"version":"0.3.9","binstar":{"package_id":"6777bf8e0fdc98202abbe840","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a61ec22787eba46f2fdc1d96fe0f764e08b85c478e4f312643a9db520c492408"},"ros-jazzy-tcb-span-1.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112181711,"md5":"c9b9a58cda2eb599ace26b06efb9fd9e","name":"ros-jazzy-tcb-span","requires":[],"size":26276,"version":"1.0.2","binstar":{"package_id":"6777bfddb5e0df61e2bbe839","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"89863321b78c6ef5cb14c254120880a74f7b4f9f26d99a79711d00ef05af2b76"},"ros-jazzy-tl-expected-1.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112177072,"md5":"7a1e7747c062bb5036f0abb023bfa4f6","name":"ros-jazzy-tl-expected","requires":[],"size":31889,"version":"1.0.2","binstar":{"package_id":"6777bfdf6cc931c2af4fb940","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7bf6ec56c2f22799a148afaf999e25d96b90e7e334da63b314d200493d790b88"},"ros-jazzy-ros2-control-test-assets-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112197667,"md5":"9ab5c2c505b01d1b24b7c20777011894","name":"ros-jazzy-ros2-control-test-assets","requires":[],"size":29366,"version":"4.23.0","binstar":{"package_id":"6777bfe10fdc98202abbe844","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7307156471eac9d4c2396ad5c92cff98567431906d226cf51e254b63802eed0f"},"ros-jazzy-angles-1.16.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112190637,"md5":"73560fd3e4fb1770e4b1fa7dd5590bd9","name":"ros-jazzy-angles","requires":[],"size":31071,"version":"1.16.0","binstar":{"package_id":"6777bfe512934ced4901b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c8dbba8aa043575099add8c374679bd39b88de0baaeaf3f85881120ddbe87767"},"ros-jazzy-angles-1.16.0-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1737495964506,"md5":"42bfbbcd7ecbd966284cca2a3a94823e","name":"ros-jazzy-angles","requires":[],"size":31169,"version":"1.16.0","binstar":{"package_id":"6777bfe512934ced4901b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8dca8a01e1b1324deea38f22f9eea24d93c7578337e6327791f6110cad0093ff"},"ros-jazzy-moveit-common-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112178685,"md5":"85aa283e75bfeceae8796e2e5c56c91c","name":"ros-jazzy-moveit-common","requires":[],"size":24688,"version":"2.12.1","binstar":{"package_id":"6777bfe71d825a17294fb940","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"43de0dd1912eca8a47b097f293b9dd2662c0e3e6769344e0dcbb496f013b58a6"},"ros-jazzy-moveit-resources-fanuc-description-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112190192,"md5":"87e6f3c7c1781827893f8efccc83af0c","name":"ros-jazzy-moveit-resources-fanuc-description","requires":[],"size":151861,"version":"3.1.0","binstar":{"package_id":"6777bfe91d825a17294fb942","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c41fee85264e3ff85dec9d2de977f0d131ac458282945ecc4ac558e26dd16630"},"ros-jazzy-eigen-stl-containers-1.0.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112176371,"md5":"1a9b64a0cdc78f52299938b1c139e438","name":"ros-jazzy-eigen-stl-containers","requires":[],"size":22498,"version":"1.0.0","binstar":{"package_id":"6777bfeba7245de1734fb94a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"95a256077397cb6f56d997a7677d00ed363d0587a6584546e7e10bdaa922a88b"},"ros-jazzy-moveit-resources-pr2-description-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112189169,"md5":"afd9d5f2410d3e5afc58dc08bf4f640d","name":"ros-jazzy-moveit-resources-pr2-description","requires":[],"size":25201892,"version":"3.1.0","binstar":{"package_id":"6777bfebe72d566cbfbbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf50543b1d048caefe13bd9d595f95c4366446092416ba15dde22a28d73ef2df"},"ros-jazzy-libcurl-vendor-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libcurl","pkg-config","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","libcurl >=8.11.1,<9.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112185479,"md5":"90642c4f1e12f656abfa28a40a3e7ae4","name":"ros-jazzy-libcurl-vendor","requires":[],"size":22113,"version":"3.4.3","binstar":{"package_id":"6777bfed080f624e0c3bfa58","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0e7a11389978da37f218588eec5ad3090d2b9fe58047ee734e3e6757477ecc8a"},"ros-jazzy-moveit-resources-panda-description-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112192170,"md5":"01c07f7e88c5b2365500b9f0cbf58a38","name":"ros-jazzy-moveit-resources-panda-description","requires":[],"size":3696105,"version":"3.1.0","binstar":{"package_id":"6777bfefe72d566cbfbbe838","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3912500662527a306ad56e054a099a9ce160de3d9f4bf8269039870173739f80"},"ros-jazzy-random-numbers-2.0.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libboost","libboost-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112188939,"md5":"b28ff48ec33474c811450c7036f877c6","name":"ros-jazzy-random-numbers","requires":[],"size":46380,"version":"2.0.1","binstar":{"package_id":"6777bff19fbe0777ad01b10e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e96b6cca6ba7e93c98a7a3bb5faeaf49543737b4555f8c44fb2a248c9f94bafb"},"ros-jazzy-xacro-2.0.11-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112202478,"md5":"edff21098fbe9fa6d2e8aebcc71873ea","name":"ros-jazzy-xacro","requires":[],"size":76272,"version":"2.0.11","binstar":{"package_id":"6777bff40fdc98202abbe846","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f735d552dfc1a4bf84a5088cf95387105bca24514df03bd0d4ac3be795133518"},"ros-jazzy-moveit-resources-prbt-support-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112440947,"md5":"a3f028e34f1004f401cab46f0fd17552","name":"ros-jazzy-moveit-resources-prbt-support","requires":[],"size":949698,"version":"2.12.1","binstar":{"package_id":"6777c03a9a883b4aba01b107","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f05de5350be47fd283fbbffda8428cb9ca96443bbc6be74d319b12523f2b0bed"},"ros-jazzy-gz-dartsim-vendor-0.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","bullet","dartsim-cpp","eigen","fcl","fmt","libboost-devel","libccd-double","lz4","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","urdfdom","libstdcxx >=14","libgcc >=14","urdfdom >=4.0.1,<4.1.0a0","assimp >=5.4.3,<5.4.4.0a0","python_abi 3.11.* *_cp311","fcl >=0.7.0,<0.8.0a0","tinyxml2 >=10.0.0,<11.0a0","libboost >=1.86.0,<1.87.0a0","fmt >=11.0.2,<12.0a0","libccd-double >=2.1,<2.2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","dartsim-cpp >=6.15.0,<6.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112835373,"md5":"ab285d352777c8a7a244c0894f63db87","name":"ros-jazzy-gz-dartsim-vendor","requires":[],"size":35642,"version":"0.0.3","binstar":{"package_id":"6777c15c1d825a17294fb946","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7d1092790d6e2f73db8e6376841bd847f4a274db44b79a02f328a9706ebe8de0"},"ros-jazzy-gz-ogre-next-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["freeimage","freetype","glslang","libboost-devel","libvulkan-headers","libvulkan-loader","ogre-next","poco","python","rapidjson","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sdl2","shaderc","tbb","tbb-devel","tinyxml2","xorg-libx11","xorg-libxaw","xorg-libxrandr","xorg-xorgproto","zziplib","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","xorg-libxrandr >=1.5.4,<2.0a0","ogre-next >=2.3.3,<2.3.4.0a0","tbb >=2022.0.0","poco >=1.14.0,<1.14.1.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","sdl2 >=2.30.10,<3.0a0","zziplib >=0.13.69,<0.14.0a0","glslang >=13,<14.0a0","shaderc >=2023.7,<2023.8.0a0","xorg-libxext >=1.3.6,<2.0a0","freetype >=2.12.1,<3.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","freeimage >=3.18.0,<3.19.0a0","libopengl >=1.7.0,<2.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112832710,"md5":"ed9713fe021cb2293b086468eabde79b","name":"ros-jazzy-gz-ogre-next-vendor","requires":[],"size":35404,"version":"0.0.5","binstar":{"package_id":"6777c160726ad61dcbbbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"18175bdffeb7d85f64c07d09177f860954392fe48786b288431a6b2b71add02b"},"ros-jazzy-launch-pytest-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pytest","python","ros-jazzy-ament-index-python","ros-jazzy-launch","ros-jazzy-launch-testing","ros-jazzy-osrf-pycommon","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112842070,"md5":"74512dffe38e83b687d7b086e1773ee2","name":"ros-jazzy-launch-pytest","requires":[],"size":47644,"version":"3.4.3","binstar":{"package_id":"6777c1646cc931c2af4fb946","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c26220a993a911a56e42ffffb9788cacbd0f5311581232c24dca9b1bdb6e22cb"},"ros-jazzy-rviz-assimp-vendor-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","assimp >=5.4.3,<5.4.4.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112839423,"md5":"d21a7f18d5887e9f349817397fb0e58b","name":"ros-jazzy-rviz-assimp-vendor","requires":[],"size":23188,"version":"14.1.6","binstar":{"package_id":"6777c25ecb96cd07983bfa53","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb11d91a39fdb5c3c7134de1541908bc2501c76790d2b283a753f811910d65b9"},"ros-jazzy-rviz-ogre-vendor-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","freetype","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxaw","xorg-libxrandr","xorg-xorgproto","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","pugixml >=1.14,<1.15.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","libopengl >=1.7.0,<2.0a0","zziplib >=0.13.69,<0.14.0a0","assimp >=5.4.3,<5.4.4.0a0","freetype >=2.12.1,<3.0a0","numpy >=1.26.4,<2.0a0","xorg-libxrandr >=1.5.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","libzlib >=1.3.1,<2.0a0","freeimage >=3.18.0,<3.19.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736112837880,"md5":"d0aead106f720e88cc8b147bcc6db0bc","name":"ros-jazzy-rviz-ogre-vendor","requires":[],"size":5310742,"version":"14.1.6","binstar":{"package_id":"6777c2621ef605a0814fb94a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a2e705a5edd9d25dd50cec72f66e2c2f1d98f170525d376d2cadb35e2bce1d4e"},"ros-jazzy-gz-tools-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gz-tools2","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","ruby","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-tools2 >=2.0.1,<3.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113197063,"md5":"3bd6c41c7a2ff59f1d1b296d07dda27f","name":"ros-jazzy-gz-tools-vendor","requires":[],"size":26345,"version":"0.0.5","binstar":{"package_id":"6777c2c1c95d6fa79f3bfa4e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8b29d6a1d4fd221dc40914e14195a7cf23101c461915727302effafaa0090709"},"ros-jazzy-osqp-vendor-0.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113199051,"md5":"449190f591d985d9fea257b04cff49a7","name":"ros-jazzy-osqp-vendor","requires":[],"size":115942,"version":"0.2.0","binstar":{"package_id":"6777c2c276318dc690bbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf191b1e903987bfbf6828ae27a6a317394bd0d32b6a86628715fe0cf7362ca3"},"ros-jazzy-gz-utils-vendor-0.0.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gz-utils2","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libgz-utils2 >=2.2.0,<3.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113198197,"md5":"d0333c79ff716ce56eada3a75804d4dc","name":"ros-jazzy-gz-utils-vendor","requires":[],"size":24649,"version":"0.0.4","binstar":{"package_id":"6777c2c36c8a45ba683bfa59","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d382e23530f9e89087c9a940361bdb71204f51045b2aa27b699493195d4225a0"},"ros-jazzy-python-qt-binding-2.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pyqt","pyqt-builder","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","pyqt >=5.15.9,<5.16.0a0","libgl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113200881,"md5":"ea12f6f63b4babcd5ce971aa35874a58","name":"ros-jazzy-python-qt-binding","requires":[],"size":59705,"version":"2.2.1","binstar":{"package_id":"6777c2c4e487d3e8fe01b120","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bfb05319723aa1f14fc800f282a3204ccd15400ca09f7e7cbcb8b9431558f402"},"ros-jazzy-smclib-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113200690,"md5":"77f3ca262787297ae20e51e29832ccec","name":"ros-jazzy-smclib","requires":[],"size":35508,"version":"4.1.0","binstar":{"package_id":"6777c2c657ecb6e67601b127","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"196efe6c813854570b8ba2bfa89aae854facc2ee31d101bcb7af651a776edc99"},"ros-jazzy-qt-dotgraph-2.7.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pydot","python","ros-jazzy-python-qt-binding","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113655056,"md5":"6b4013ebe3a1bed71eae6f0af3eb9b36","name":"ros-jazzy-qt-dotgraph","requires":[],"size":58346,"version":"2.7.5","binstar":{"package_id":"6777c42a7b74ce9ea13bfa4d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c040634b54dd2bf772013fdec2639c687349fed9147e3035381a31c5dbaa505a"},"ros-jazzy-qt-gui-py-common-2.7.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113658291,"md5":"9a858e9be63a622a511f19a9a583442e","name":"ros-jazzy-qt-gui-py-common","requires":[],"size":38146,"version":"2.7.5","binstar":{"package_id":"6777c42b8f28bfae64ee3f5e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb03b5b72e6565ff8ef60171540c463949fec4e903bdee0989d2177ac44eb317"},"ros-jazzy-tracetools-image-pipeline-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113673340,"md5":"e6cc28178178382bfa2c67e71c1d31fb","name":"ros-jazzy-tracetools-image-pipeline","requires":[],"size":36255,"version":"5.0.6","binstar":{"package_id":"6777c42c9e210c51f0bbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6181906f00e927d329f256769b5e09d34a0009f0f663355dc189c7c7a824c7ed"},"ros-jazzy-gz-math-vendor-0.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","gz-math7","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","libgz-math7 >=7.5.1,<8.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113653860,"md5":"6c76ee8c8a7a185603bcf56028045537","name":"ros-jazzy-gz-math-vendor","requires":[],"size":26468,"version":"0.0.7","binstar":{"package_id":"6777c44270a374103d3b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b9d54a1f984a48af71740ae49aabd9febc5d1ae76f2384764563ab39aa862aa2"},"ros-jazzy-gz-plugin-vendor-0.0.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gz-plugin2","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libgz-plugin2 >=2.0.3,<3.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113668206,"md5":"3d6a5ed836654d74edc2caf3726015d8","name":"ros-jazzy-gz-plugin-vendor","requires":[],"size":27718,"version":"0.0.4","binstar":{"package_id":"6777c444283e553519ee3f5e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"34129a128503e1005f7fe3c922b9ec24582333f9655f33f47b5b35a0bcf46762"},"ros-jazzy-qt-gui-2.7.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-ros-workspace","ros-jazzy-tango-icons-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","pyqt >=5.15.9,<5.16.0a0","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113643337,"md5":"40252bfc5cf668a5985ac36b285e1540","name":"ros-jazzy-qt-gui","requires":[],"size":175370,"version":"2.7.5","binstar":{"package_id":"6777c4452e18f789063b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a4d3968acff45a07ead2fc410557d490cac32d2ddae7ea521492565ba064224c"},"ros-jazzy-resource-retriever-3.4.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-ament-index-python","ros-jazzy-libcurl-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113668820,"md5":"cc0264acb5a671182da7d12e0d9a7eca","name":"ros-jazzy-resource-retriever","requires":[],"size":44090,"version":"3.4.3","binstar":{"package_id":"6777c446e98b99d2473b969c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"184b627993e76d10106e15397c32e71685922da87a92c7d6cb701baae9cbe6fa"},"ros-jazzy-gz-common-vendor-0.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","ffmpeg","freeimage","gts","gz-common5","libgdal","libuuid","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","libgcc >=14","libstdcxx >=14","libgcc >=14","gts >=0.7.6,<0.8.0a0","numpy >=1.26.4,<2.0a0","freeimage >=3.18.0,<3.19.0a0","libgz-common5 >=5.6.0,<6.0a0","libuuid >=2.38.1,<3.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","tinyxml2 >=10.0.0,<11.0a0","ffmpeg >=7.1.0,<8.0a0","libgdal-core >=3.10.0,<3.11.0a0","libgdal >=3.10.0,<3.11.0a0","python_abi 3.11.* *_cp311","assimp >=5.4.3,<5.4.4.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113853259,"md5":"da9677688f066bf229b5f106df2f3c1e","name":"ros-jazzy-gz-common-vendor","requires":[],"size":45072,"version":"0.0.7","binstar":{"package_id":"6777c497d42833eb3fbbe839","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3dac76d53e06ee37ee57961b1a46e6c225a1ce94859968132843faa45d2a86d5"},"ros-jazzy-gz-msgs-vendor-0.0.5-np126py311ha602f73_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311ha602f73_1","build_number":1,"depends":["gz-msgs10","libprotobuf","protobuf","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","libgcc >=14","libstdcxx >=14","libgcc >=14","libprotobuf >=5.28.2,<5.28.3.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","tinyxml2 >=10.0.0,<11.0a0","libgz-msgs10 >=10.3.0,<11.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113848099,"md5":"e53dee3ee100ffac0a80fc041c1a60aa","name":"ros-jazzy-gz-msgs-vendor","requires":[],"size":29981,"version":"0.0.5","binstar":{"package_id":"6777c49d43a826f1353bfa4f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c0146ab3c7e39c31ae9bc46a59fd4fe6b518af6c062607415cc74f386a5f689f"},"ros-jazzy-rviz-rendering-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","qt-main","ros-jazzy-ament-index-cpp","ros-jazzy-eigen3-cmake-module","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-assimp-vendor","ros-jazzy-rviz-ogre-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","qt-main >=5.15.15,<5.16.0a0","libopengl >=1.7.0,<2.0a0","glew >=2.1.0,<2.2.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113845311,"md5":"590b3aa1e0abb5c40006491d5953f3bb","name":"ros-jazzy-rviz-rendering","requires":[],"size":904486,"version":"14.1.6","binstar":{"package_id":"6777c4c85687576dae3b96a1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e9eb9ce40bb2996a069f0c0e535b20839eb67c9f7686d70e9bf223ca24f70ca1"},"ros-jazzy-sdformat-vendor-0.0.8-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pybind11","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros-jazzy-urdfdom","ros2-distro-mutex 0.6.* jazzy_*","sdformat14","tinyxml2","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libsdformat14 >=14.5.0,<15.0a0","libxml2 >=2.13.5,<3.0a0","python_abi 3.11.* *_cp311","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736113850739,"md5":"fa7845f813916759fa1bfe84b8a3cffc","name":"ros-jazzy-sdformat-vendor","requires":[],"size":30465,"version":"0.0.8","binstar":{"package_id":"6777c4c99cf4135cd5ee3f5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d64d8aa7c791b085814c9ef28405638cb58958865a3db7dc990989c28ffc7784"},"ros-jazzy-gz-fuel-tools-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gflags","gz-fuel-tools9","jsoncpp","libcurl","libzip","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","yaml","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","gflags >=2.2.2,<2.3.0a0","libcurl >=8.11.1,<9.0a0","python_abi 3.11.* *_cp311","tinyxml2 >=10.0.0,<11.0a0","yaml >=0.2.5,<0.3.0a0","jsoncpp >=1.9.6,<1.9.7.0a0","libzip >=1.11.2,<2.0a0","numpy >=1.26.4,<2.0a0","libgz-fuel-tools9 >=9.0.3,<10.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114064674,"md5":"13d87ef3f93647699d71ea40f81b71ba","name":"ros-jazzy-gz-fuel-tools-vendor","requires":[],"size":49701,"version":"0.0.5","binstar":{"package_id":"6777c5266c8a45ba683bfa64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aff7b2be62f13ceb02e5cb77f444c5df389df850ea804ddb2cd034248257f669"},"ros-jazzy-gz-physics-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["benchmark","bullet","eigen","gz-physics7","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-dartsim-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-plugin-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros-jazzy-sdformat-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","libgz-physics7 >=7.3.0,<8.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114057184,"md5":"47954669177037ed58161bfae25ae395","name":"ros-jazzy-gz-physics-vendor","requires":[],"size":58295,"version":"0.0.5","binstar":{"package_id":"6777c52a9e210c51f0bbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e6b7d392225acad5988ea210a096ce9d03fad66d2524fecd05f88d64d00be64"},"ros-jazzy-gz-rendering-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["freeglut","freeimage","glew","gz-rendering8","libuuid","libvulkan-headers","libvulkan-loader","ogre","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-ogre-next-vendor","ros-jazzy-gz-plugin-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","swig","xorg-libxi","xorg-libxmu","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","xorg-libxi >=1.8.2,<2.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxmu >=1.2.1,<2.0a0","libgz-rendering8 >=8.2.0,<9.0a0","glew >=2.1.0,<2.2.0a0","freeglut >=3.2.2,<4.0a0","ogre >=1.10.12.1,<1.11.0a0","libuuid >=2.38.1,<3.0a0","freeimage >=3.18.0,<3.19.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114053870,"md5":"881e39960c7a5d4d4910b796b09abe79","name":"ros-jazzy-gz-rendering-vendor","requires":[],"size":55644,"version":"0.0.5","binstar":{"package_id":"6777c52c76318dc690bbe83d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"860b8c982ac18343e0daa508d586a08c28c400af9758ca74fe1fe347b951ce58"},"ros-jazzy-gz-transport-vendor-0.0.5-np126py311ha602f73_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311ha602f73_1","build_number":1,"depends":["cppzmq","gz-transport13","libprotobuf","libuuid","pkg-config","protobuf","psutil","pybind11","pytest","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","zeromq","libgcc >=14","libstdcxx >=14","libgcc >=14","zeromq >=4.3.5,<4.4.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-transport13 >=13.4.0,<14.0a0","libuuid >=2.38.1,<3.0a0","libprotobuf >=5.28.2,<5.28.3.0a0","libsqlite >=3.47.2,<4.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114065408,"md5":"37a82ac129d5bd4ae3c5008ce2fc0435","name":"ros-jazzy-gz-transport-vendor","requires":[],"size":31560,"version":"0.0.5","binstar":{"package_id":"6777c52fe7bc1962d8ee3f5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1744bdf1f1a33f5d9e195535f93c82d6e97dd925f0941715ec3e8691739e7e26"},"ros-jazzy-rviz-rendering-tests-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-rendering","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","qt-main >=5.15.15,<5.16.0a0","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114056383,"md5":"eadd677026293a987898fab37d7aa155","name":"ros-jazzy-rviz-rendering-tests","requires":[],"size":37667,"version":"14.1.6","binstar":{"package_id":"6777c53c1b37c47cf0ee3f60","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b0913f297565fa0c9e3e6c2f216636f32d1dd5e170209771f6fa8a87eacfb49e"},"ros-jazzy-gz-gui-vendor-0.0.4-np126py311ha602f73_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311ha602f73_1","build_number":1,"depends":["gz-gui8","libprotobuf","protobuf","python","qt-main","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-plugin-vendor","ros-jazzy-gz-rendering-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libopengl >=1.7.0,<2.0a0","libgz-gui8 >=8.3.0,<9.0a0","tinyxml2 >=10.0.0,<11.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","libgl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libprotobuf >=5.28.2,<5.28.3.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114272846,"md5":"7935adcdfa27a4f6d980ecc8b4636d4f","name":"ros-jazzy-gz-gui-vendor","requires":[],"size":61858,"version":"0.0.4","binstar":{"package_id":"6777c5964b76e5fa113b969d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"94505f730d73bdb87855ec29fda4439258fb3dfd538c9c4e089c9078d9270905"},"ros-jazzy-gz-sensors-vendor-0.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gz-sensors8","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-rendering-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-ros-workspace","ros-jazzy-sdformat-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libgz-sensors8 >=8.2.0,<9.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114254047,"md5":"cabf8e07df8388345e4bf5213db93e4c","name":"ros-jazzy-gz-sensors-vendor","requires":[],"size":59319,"version":"0.0.5","binstar":{"package_id":"6777c5988f28bfae64ee3f64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dd5b8a67d835927235c4572fe1b5ba02bf8a3de7763393edbc50ee8a66eb21d1"},"ros-jazzy-gz-sim-vendor-0.0.6-np126py311ha602f73_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311ha602f73_1","build_number":1,"depends":["benchmark","freeglut","freeimage","glew","gz-sim8","libprotobuf","libuuid","protobuf","pybind11","python","qt-main","ros-jazzy-gz-cmake-vendor","ros-jazzy-gz-common-vendor","ros-jazzy-gz-fuel-tools-vendor","ros-jazzy-gz-gui-vendor","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-physics-vendor","ros-jazzy-gz-plugin-vendor","ros-jazzy-gz-rendering-vendor","ros-jazzy-gz-sensors-vendor","ros-jazzy-gz-tools-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-gz-utils-vendor","ros-jazzy-ros-workspace","ros-jazzy-sdformat-vendor","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","xorg-libxi","xorg-libxmu","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","libprotobuf >=5.28.2,<5.28.3.0a0","xorg-libxmu >=1.2.1,<2.0a0","libgz-sim8 >=8.6.0,<9.0a0","xorg-libx11 >=1.8.10,<2.0a0","freeglut >=3.2.2,<4.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxi >=1.8.2,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libuuid >=2.38.1,<3.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","tinyxml2 >=10.0.0,<11.0a0","qt-main >=5.15.15,<5.16.0a0","python_abi 3.11.* *_cp311","glew >=2.1.0,<2.2.0a0","libopengl >=1.7.0,<2.0a0","freeimage >=3.18.0,<3.19.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114466395,"md5":"e6c17a280f0ecf4b028f4bfbea6322a6","name":"ros-jazzy-gz-sim-vendor","requires":[],"size":69390,"version":"0.0.6","binstar":{"package_id":"6777c5fb9cd256cccc3bfa6a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"925d085039fff554bae4bced3aa138213e51a77804ee84c9642bddac2ac1abb8"},"ros-jazzy-qt-gui-cpp-2.7.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pep517","pyqt-builder","python","ros-jazzy-pluginlib","ros-jazzy-qt-gui","ros-jazzy-ros-workspace","ros-jazzy-tinyxml2-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libopengl >=1.7.0,<2.0a0","qt-main >=5.15.15,<5.16.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736114694274,"md5":"03dec950e8397a113884332adb89be3f","name":"ros-jazzy-qt-gui-cpp","requires":[],"size":504659,"version":"2.7.5","binstar":{"package_id":"6777c6bc072330a8f73b969f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"62c5f381fd3ddff4120bd45ba3db9cbdfd36bc742fd54852a0b595af35751d45"},"ros-jazzy-sdformat-urdf-1.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-ros","ros-jazzy-pluginlib","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-sdformat-vendor","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf","ros-jazzy-urdf-parser-plugin","ros2-distro-mutex 0.6.* jazzy_*","urdfdom_headers","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115111903,"md5":"9bcdc6b40989234ce3eff3b8977f59be","name":"ros-jazzy-sdformat-urdf","requires":[],"size":87076,"version":"1.0.2","binstar":{"package_id":"6777c717e7bc1962d8ee3f62","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"be2dd514c9e297fd9d3b781314492c93f309e3b6be64b71a1eca150871bc60f0"},"ros-jazzy-srdfdom-2.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["console_bridge","python","ros-jazzy-console-bridge-vendor","ros-jazzy-ros-workspace","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf","ros-jazzy-urdfdom-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","console_bridge >=1.0.2,<1.1.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736115112299,"md5":"013be801bb32636bbf2f05986b17b81c","name":"ros-jazzy-srdfdom","requires":[],"size":107725,"version":"2.0.5","binstar":{"package_id":"6777c71862ba3ace18bbe84d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0b3a1d7dcf8767879e60a2ce6217d4d9bec16e19809ee40e79d11326eaeec196"},"ros-jazzy-topic-tools-interfaces-1.3.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116660804,"md5":"9fa7b179a60ee3bc60498fab8fc33393","name":"ros-jazzy-topic-tools-interfaces","requires":[],"size":329068,"version":"1.3.2","binstar":{"package_id":"6777c8eaa24ac811b73b96a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4190f5d81c002d0d185f2ea46bdf23e021d28e19254d64d4b6315c21771a0068"},"ros-jazzy-apriltag-msgs-2.0.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116909268,"md5":"99a2543b18b8130d6755515aed60d2aa","name":"ros-jazzy-apriltag-msgs","requires":[],"size":118884,"version":"2.0.1","binstar":{"package_id":"6777c970f11738ec7cbbe862","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8446f936e24fd346fe0b2cacdffc339b6e3449afac9de24a357ba5e0d0f23e3d"},"ros-jazzy-ackermann-msgs-2.0.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116912510,"md5":"8d4f5c0e98c2630f76730f8caec57e13","name":"ros-jazzy-ackermann-msgs","requires":[],"size":92531,"version":"2.0.2","binstar":{"package_id":"6777c9b1b5e0df61e2bbe853","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a533300c9e1582fb8a72a42949053f89ae024552b22ba762818c3dd9a6da91d1"},"ros-jazzy-actuator-msgs-0.0.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116913156,"md5":"2127c5e05ec44bc5a7f8190de0ca5255","name":"ros-jazzy-actuator-msgs","requires":[],"size":161839,"version":"0.0.1","binstar":{"package_id":"6777c9b1b89b363eb8ee3f6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"85908403afd90d69285954da9238cca363b1f15ef7cf56d1b10e92f883d06d93"},"ros-jazzy-gps-msgs-2.0.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116912148,"md5":"5f4a1841ff6ab75ba90ecb082c5948d9","name":"ros-jazzy-gps-msgs","requires":[],"size":130769,"version":"2.0.4","binstar":{"package_id":"6777c9b2ee7f3ec9a9ee3f69","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b7fbb14b7393b64d8b8da4cb39f1c368745baccb696076e293f534f5b704dd01"},"ros-jazzy-nmea-msgs-2.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116915490,"md5":"b0cf21b0048454b2f5c4710df72fd5ad","name":"ros-jazzy-nmea-msgs","requires":[],"size":202412,"version":"2.1.0","binstar":{"package_id":"6777c9b30fdc98202abbe867","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c9e9612120e984bd7163849f62453279d57ce162d5008acba1fec5852a5a6cab"},"ros-jazzy-bond-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116924811,"md5":"a57a30716c572a23d05bb3a4ae14551b","name":"ros-jazzy-bond","requires":[],"size":94910,"version":"4.1.0","binstar":{"package_id":"6777c9b35189edf45ebbe846","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ecaf86ee052dece41cb3b9ec451c1e970c79e24ab8244d4ca522071108487778"},"ros-jazzy-controller-manager-msgs-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-lifecycle-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116910546,"md5":"191de9dc4af967864271a0c713f95035","name":"ros-jazzy-controller-manager-msgs","requires":[],"size":524670,"version":"4.23.0","binstar":{"package_id":"6777c9b562ba3ace18bbe850","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"08c78e65895ecc58b2b82e0c8f054a05451f17a2577b3e5bb66fab0e7e872468"},"ros-jazzy-rtcm-msgs-1.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116899915,"md5":"c599f8904d812939a9c7feb82232d350","name":"ros-jazzy-rtcm-msgs","requires":[],"size":84294,"version":"1.1.6","binstar":{"package_id":"6777c9b5b3bd3efc41bbe84b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fde04cdf9929681a1719c176804b3fbd6a37ba58abbf8add1358eed5a130cc2e"},"ros-jazzy-velodyne-msgs-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736116903695,"md5":"5839ae6fd81ca7311b9c3a444dc831ea","name":"ros-jazzy-velodyne-msgs","requires":[],"size":98606,"version":"2.5.1","binstar":{"package_id":"6777c9b687c2334766ee3f68","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c1c3572310c05c0a97de9fa7a19c09d2a5b84d174a063b6c1a31f87706e8be50"},"ros-jazzy-geographic-msgs-1.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros-jazzy-unique-identifier-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117145226,"md5":"0dd5517e0a809946551a3dc2349471d3","name":"ros-jazzy-geographic-msgs","requires":[],"size":468388,"version":"1.0.6","binstar":{"package_id":"6777cab6e7bc1962d8ee3f65","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6e67371954ed4381d869e76f81ca895178123f328dcf5f6562031f9028a31b22"},"ros-jazzy-nav-2d-msgs-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-generators","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117139348,"md5":"689035e4ae1ca56ddc93ca0a6ca350d1","name":"ros-jazzy-nav-2d-msgs","requires":[],"size":129581,"version":"1.3.4","binstar":{"package_id":"6777cab887c2334766ee3f6e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"61883ef2c9a52e43d9dd5bf4de51c7a521945dbbcece095ce6362416fd5738e1"},"ros-jazzy-octomap-msgs-2.0.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117142422,"md5":"741c66ed72fb764bcd0d2b98e24b490b","name":"ros-jazzy-octomap-msgs","requires":[],"size":188868,"version":"2.0.1","binstar":{"package_id":"6777cab9a24ac811b73b96b4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"02766d50d6a001eabcbafaada621a471516b58d2d32b8b8f366a1bef1f462fa0"},"ros-jazzy-ros-gz-interfaces-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rcl-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117145862,"md5":"f956ebfbbee26d1b9c7c34cfa8b8fbfd","name":"ros-jazzy-ros-gz-interfaces","requires":[],"size":510742,"version":"1.0.7","binstar":{"package_id":"6777caba71d2ff3380c846c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c0f1a200c0f6e0183ce0a158df2b4e65ce4d26c6ba7baeba1348a353dc4046e9"},"ros-jazzy-vision-msgs-4.1.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117146308,"md5":"f866b5d5eb4c8f154c016654716e566d","name":"ros-jazzy-vision-msgs","requires":[],"size":265266,"version":"4.1.1","binstar":{"package_id":"6777cabc0eb0c3214ec846c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc944b8808c2ce51bca77ac1c36a713de2f311892f7bd736e5ee17dec6739d28"},"ros-jazzy-dwb-msgs-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117401911,"md5":"b19cd16d821824c870c235299f43cded","name":"ros-jazzy-dwb-msgs","requires":[],"size":344969,"version":"1.3.4","binstar":{"package_id":"6777cb42cd4f7fe7382fbbf3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fb44aadf9595eeb1909c358352061dc8b54d7acaebb36cfdab1dec9906215b41"},"ros-jazzy-control-msgs-5.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117408920,"md5":"9ce999a0dc5df154f342d39fb86390ba","name":"ros-jazzy-control-msgs","requires":[],"size":1077011,"version":"5.3.0","binstar":{"package_id":"6777cb87189ff81bb0c846bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"00673feb2c8021ef3f21061bb91220307e977c047bcbd6aae4f39738910c96eb"},"ros-jazzy-object-recognition-msgs-2.0.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-shape-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117397263,"md5":"b91bfe9585551470e4ea16dbb95233fd","name":"ros-jazzy-object-recognition-msgs","requires":[],"size":357117,"version":"2.0.0","binstar":{"package_id":"6777cb888529c48d2aee3f69","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"26771c0aae1f7bdd929eae72f002fa5c47c200c3d1a933fee22df3b0e6a7f89a"},"ros-jazzy-moveit-msgs-2.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-geometry-msgs","ros-jazzy-object-recognition-msgs","ros-jazzy-octomap-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-shape-msgs","ros-jazzy-std-msgs","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736117679766,"md5":"aa585203e963c2d59693c06ca5568607","name":"ros-jazzy-moveit-msgs","requires":[],"size":2897450,"version":"2.6.0","binstar":{"package_id":"6777ccb04fbc7913cd2fbbf9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e5a238962ac3f716ade4a6fc371603453e5abba199c9d2730fc9a65be2562f82"},"ros-jazzy-examples-rclpy-minimal-action-server-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118620833,"md5":"a93b37f39f9258d898462fdc95a2ef78","name":"ros-jazzy-examples-rclpy-minimal-action-server","requires":[],"size":27314,"version":"0.19.4","binstar":{"package_id":"6777ce1fcd4f7fe7382fbbfc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5b4f060a5b1eea176c146fd05f68472fb50032ebf8f4b63d9614eb628c736f0f"},"ros-jazzy-examples-rclpy-minimal-client-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118618981,"md5":"01b77dc50ce783a5f649bbaa332e20f6","name":"ros-jazzy-examples-rclpy-minimal-client","requires":[],"size":22993,"version":"0.19.4","binstar":{"package_id":"6777ce20c5960d1d89c846d6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf13b2b61cb07b4b0578b064a7ea2c5812e66e14975a0c57012b07c8b6601126"},"ros-jazzy-examples-rclpy-minimal-service-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118617466,"md5":"5acfa6a34b41ace70e4dcf1167724e74","name":"ros-jazzy-examples-rclpy-minimal-service","requires":[],"size":20629,"version":"0.19.4","binstar":{"package_id":"6777ce235687576dae3b96c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dd461607c9a2ec6d93df950c78c9eea073df1a7441b81be0b063e95c2f84b818"},"ros-jazzy-action-tutorials-py-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-tutorials-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118643588,"md5":"b618f3d346c99f8db6cd85b227588d3a","name":"ros-jazzy-action-tutorials-py","requires":[],"size":30119,"version":"0.33.5","binstar":{"package_id":"6777ce3854270fe296c846ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cc97d2fc193363d10052bea98069fbfb96b17bf4d21618bd9170b9059d57c1e2"},"ros-jazzy-examples-rclcpp-minimal-service-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118625153,"md5":"1219ef80fb4196adaa2de4db93cc18ef","name":"ros-jazzy-examples-rclcpp-minimal-service","requires":[],"size":60977,"version":"0.19.4","binstar":{"package_id":"6777ce39c5779afe9bc846ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24ed427d52ac5789858dcb811d2b9fb8cbc7bd58e5c7f3ea7e34ea3157a4ffc7"},"ros-jazzy-examples-rclcpp-minimal-client-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118627894,"md5":"809fae281d148a9f1528cac11d027c93","name":"ros-jazzy-examples-rclcpp-minimal-client","requires":[],"size":69813,"version":"0.19.4","binstar":{"package_id":"6777ce3a283e553519ee3f75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8fe8935f9ee215cf311e9cb5f25ce2e0e73920e86b41f41f4e73884807efb405"},"ros-jazzy-rsl-1.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","fmt","python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tcb-span","ros-jazzy-tl-expected","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","graphviz >=12.0.0,<13.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","fmt >=11.0.2,<12.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118607156,"md5":"d7a1110ac0f602c2261507caf6eb7250","name":"ros-jazzy-rsl","requires":[],"size":54982,"version":"1.1.0","binstar":{"package_id":"6777ce3dc5779afe9bc846d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"973edaa9cd7d49a2e1e53abb80cf4f6c13ef121ffc36d00470884ca0c0b181da"},"ros-jazzy-examples-rclpy-minimal-action-client-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118619889,"md5":"c96fdc321b85c0890d4bbc128dc14dca","name":"ros-jazzy-examples-rclpy-minimal-action-client","requires":[],"size":25895,"version":"0.19.4","binstar":{"package_id":"6777ce40e98b99d2473b96c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d78a96a670c3b29d70222830cdb3157e307bf8c38820bb123a1cc460b55b62f0"},"ros-jazzy-camera-calibration-parsers-5.1.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118630667,"md5":"8d13b4a21186a4d15f0cade664197111","name":"ros-jazzy-camera-calibration-parsers","requires":[],"size":108860,"version":"5.1.5","binstar":{"package_id":"6777ce4e5687576dae3b96c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"72b0f8459e187732f777c793d0bfc4810c6407e416041625a42444198785b084"},"ros-jazzy-rqt-gui-cpp-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-qt-gui-cpp","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118614716,"md5":"66439278af59f3dcb3a2d799cf56c39c","name":"ros-jazzy-rqt-gui-cpp","requires":[],"size":186161,"version":"1.6.0","binstar":{"package_id":"6777ce50e8b8e2b2622fbc13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f93aa09bef54f481ddb377fedf48abb50383c9a4c717c319834d71aec566fc52"},"ros-jazzy-rqt-py-common-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118624571,"md5":"07d382881340eb37f13f160dfaf51ee6","name":"ros-jazzy-rqt-py-common","requires":[],"size":88216,"version":"1.6.0","binstar":{"package_id":"6777ce5282184074a22fbbf6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6cb7bc8a4a51748812bc60f6aee1135c4a0789e3bde19aece66a75cc2f8fb179"},"ros-jazzy-tlsf-cpp-0.17.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rclcpp","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tlsf","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118612371,"md5":"463e37e7e520c56a30a7cbb679efa6c5","name":"ros-jazzy-tlsf-cpp","requires":[],"size":187644,"version":"0.17.0","binstar":{"package_id":"6777ce56dfa78867392fbbfa","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3f522102d481548c5d036dfe6624463d75bc621254381416e19f22398bc00bc4"},"ros-jazzy-filters-2.1.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libboost-devel","python","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118610107,"md5":"e9cafc8ccef68119f162ff9bed994ff6","name":"ros-jazzy-filters","requires":[],"size":128594,"version":"2.1.2","binstar":{"package_id":"6777ce5cb89b363eb8ee3f8d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"018cd133f983cb447a7ff964311b025870364af3f040213691315ce92003687e"},"ros-jazzy-demo-nodes-py-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-example-interfaces","ros-jazzy-rcl-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118619263,"md5":"44d0a609f9045f8973cfecead80299dd","name":"ros-jazzy-demo-nodes-py","requires":[],"size":43277,"version":"0.33.5","binstar":{"package_id":"6777ce5d072330a8f73b96b4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf57633771d02354dcfba8d3dd6a8030986e199ff8e53bd4d93c476c2d9588be"},"ros-jazzy-geometric-shapes-2.3.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","eigen","libboost","libboost-devel","python","qhull","ros-jazzy-console-bridge-vendor","ros-jazzy-eigen-stl-containers","ros-jazzy-eigen3-cmake-module","ros-jazzy-geometry-msgs","ros-jazzy-random-numbers","ros-jazzy-rclcpp","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-shape-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","qhull >=2020.2,<2020.3.0a0","libboost >=1.86.0,<1.87.0a0","assimp >=5.4.3,<5.4.4.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","fcl >=0.7.0,<0.8.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","octomap >=1.10.0,<1.11.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118613180,"md5":"4fb88fecfdd439191627996d53dc91d6","name":"ros-jazzy-geometric-shapes","requires":[],"size":156732,"version":"2.3.1","binstar":{"package_id":"6777ce5d4fbc7913cd2fbc09","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3cc70a935aa4f3cf3951ab2c2daef78b33bd396025fdaf8bdd5409995251f855"},"ros-jazzy-behaviortree-cpp-4.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["cppzmq","python","ros-jazzy-ament-index-cpp","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","zeromq","libstdcxx >=14","libgcc >=14","libsqlite >=3.47.2,<4.0a0","zeromq >=4.3.5,<4.4.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118626489,"md5":"55bf4c82640bcd1ca2acff5047808b0a","name":"ros-jazzy-behaviortree-cpp","requires":[],"size":804895,"version":"4.6.2","binstar":{"package_id":"6777cefe0eb0c3214ec846de","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0175c97ffc3c601e5d8e13dfd3d66f5db1c33d89b37f48b4f3ac54d626c74e94"},"ros-jazzy-launch-param-builder-0.1.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118613520,"md5":"e3bfd5152a341710e4533496335f7391","name":"ros-jazzy-launch-param-builder","requires":[],"size":26179,"version":"0.1.1","binstar":{"package_id":"6777cf044b76e5fa113b96bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"00046074508100fc79539bdcd0c10d871b16a4f824504bc63dd7a10422bc3b39"},"ros-jazzy-rqt-gui-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118615021,"md5":"a3ac0c8c419d6034eaffaac96e2f9f76","name":"ros-jazzy-rqt-gui","requires":[],"size":126622,"version":"1.6.0","binstar":{"package_id":"6777cf064fbc7913cd2fbc0f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"767337058e3894193bb0ba5113a6e2365f00825da2bb0dc2e5959196f0b0fa27"},"ros-jazzy-parameter-traits-0.3.9-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["fmt","python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-tcb-span","ros-jazzy-tl-expected","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","fmt >=11.0.2,<12.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118944853,"md5":"b57f1504d256f19de425b9ac6aec477d","name":"ros-jazzy-parameter-traits","requires":[],"size":44674,"version":"0.3.9","binstar":{"package_id":"6777cf6eb89b363eb8ee3f91","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8686e8de4abe3327747afb099747565d62e4c50a8e189d785797a8b3aa521f41"},"ros-jazzy-realtime-tools-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libcap","python","ros-jazzy-ament-cmake","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libcap >=2.71,<2.72.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118945687,"md5":"4d623ec290ee26f8ab44b132f308175d","name":"ros-jazzy-realtime-tools","requires":[],"size":73311,"version":"3.1.0","binstar":{"package_id":"6777cf710eb0c3214ec846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3ac766c3d0b261be114e1696a544d6564be2d0ca1574e930de57637e42024be7"},"ros-jazzy-action-tutorials-cpp-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-tutorials-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118945656,"md5":"871cbdc41c262628756f04d4813fd1f4","name":"ros-jazzy-action-tutorials-cpp","requires":[],"size":134900,"version":"0.33.5","binstar":{"package_id":"6777cf7ae98b99d2473b96cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46d025bcc3a777ae2ac5084154e943853ea2f4b0f8bb02af71c02649dfbb5392"},"ros-jazzy-depthimage-to-laserscan-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-image-geometry","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","py-opencv >=4.10.0,<5.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","libopencv >=4.10.0,<4.10.1.0a0","libgl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118941341,"md5":"e24df4e02422377a033e60b155d8c8aa","name":"ros-jazzy-depthimage-to-laserscan","requires":[],"size":282934,"version":"2.5.1","binstar":{"package_id":"6777cf7b0eb0c3214ec846e7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e9bed729289f3843aa5967e11d84359eecf13f13b2e5c688354c8e29e023698"},"ros-jazzy-examples-rclcpp-minimal-action-client-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118941578,"md5":"8abdc72c9a00a5a4486f8160e84b372d","name":"ros-jazzy-examples-rclcpp-minimal-action-client","requires":[],"size":164533,"version":"0.19.4","binstar":{"package_id":"6777cf7cbfb8b18a042fbc0d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"106e9f4354857b6827a5eca3cce4a52b9a7a5eb1a8af06378aad5daea323bde7"},"ros-jazzy-nav2-common-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-cmake-core","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-osrf-pycommon","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118945133,"md5":"ece78984ee112627a2e1714aedd44a51","name":"ros-jazzy-nav2-common","requires":[],"size":47997,"version":"1.3.4","binstar":{"package_id":"6777cf8cee7f3ec9a9ee3f88","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f39eac5757dd44ce9a95ddeccde4a88de4c8149ce21283f2a70ebf7bbab2a0a7"},"ros-jazzy-topic-tools-1.3.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-runtime-py","ros-jazzy-topic-tools-interfaces","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118949408,"md5":"a6eec1eacdb2e2c34783baee1c95e5dd","name":"ros-jazzy-topic-tools","requires":[],"size":284516,"version":"1.3.2","binstar":{"package_id":"6777cf90c5779afe9bc846da","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"77a48974cb1a2b4d873fb526971b45148a51db8cf5f9a57e201bb8a2687a454e"},"ros-jazzy-camera-info-manager-5.1.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-camera-calibration-parsers","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118950409,"md5":"ff64b4fab07bfda8fb8299c22672c11c","name":"ros-jazzy-camera-info-manager","requires":[],"size":77587,"version":"5.1.5","binstar":{"package_id":"6777cfba283e553519ee3f7a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d1f4056230ccfdba43e94c3ede5c624688b41c6d28631560973eb2a133f3e13b"},"ros-jazzy-joy-3.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sdl2-vendor","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118950208,"md5":"0f9d5de9bc61112f9a7403b6d11c5013","name":"ros-jazzy-joy","requires":[],"size":284755,"version":"3.3.0","binstar":{"package_id":"6777cfbb0cbafc2308ee3f89","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46edc89582889e6b5b47eda2616b93220db93a05d90d2a80a1fd24a7c2725347"},"ros-jazzy-velodyne-laserscan-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118950868,"md5":"71c7287981b20e664395debbbf843b9a","name":"ros-jazzy-velodyne-laserscan","requires":[],"size":196119,"version":"2.5.1","binstar":{"package_id":"6777cfbde8b8e2b2622fbc1e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ce8d646308c669b1796c5b1589288d8e92176471b1e99d241beed1e07998632a"},"ros-jazzy-vision-opencv-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-geometry","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118952030,"md5":"82be723bf0366706a5a7f99c7d16b769","name":"ros-jazzy-vision-opencv","requires":[],"size":20698,"version":"4.1.0","binstar":{"package_id":"6777cfbf272818152c2fbc05","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d8005f60eaede5e49fca8ac756459638d91f520fb6563c18981ba936119aa7ca"},"ros-jazzy-examples-rclcpp-minimal-action-server-0.19.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118939897,"md5":"7ff1d7c4c7d48c9d638403343832ac26","name":"ros-jazzy-examples-rclcpp-minimal-action-server","requires":[],"size":93433,"version":"0.19.4","binstar":{"package_id":"6777cfe71167e11d113b96b5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"113e4d4263bf4ee2db3b4299d1ef69044c4e5925e721827137a61438fa9d92d8"},"ros-jazzy-quality-of-service-demo-cpp-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-launch-ros","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118951778,"md5":"33062f77c24e4a00efb6ddc1dd0db338","name":"ros-jazzy-quality-of-service-demo-cpp","requires":[],"size":599024,"version":"0.33.5","binstar":{"package_id":"6777cfee1744634607c846dc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4b283311926d8e555de637e902b4723fc3c9f44c4be7c241c328240fecae9358"},"ros-jazzy-bondcpp-4.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libuuid","python","ros-jazzy-bond","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-smclib","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libuuid >=2.38.1,<3.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118961356,"md5":"5fd90138c068937795eb1d89b45fe483","name":"ros-jazzy-bondcpp","requires":[],"size":188470,"version":"4.1.0","binstar":{"package_id":"6777d085e8b8e2b2622fbc24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bd62de2f7349a0977fe9cd3eb6625941d166621a1cb46c15de8213eb97209b28"},"ros-jazzy-moveit-configs-utils-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-launch","ros-jazzy-launch-param-builder","ros-jazzy-launch-ros","ros-jazzy-ros-workspace","ros-jazzy-srdfdom","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118947897,"md5":"7d005b87482aa170214ee5a2ee734c4f","name":"ros-jazzy-moveit-configs-utils","requires":[],"size":41021,"version":"2.12.1","binstar":{"package_id":"6777d0884b76e5fa113b96c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ba986ddc6aeeb93b42947530d458962ffb93323817e05cc716917b27c9f8f945"},"ros-jazzy-ros-gz-bridge-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-actuator-msgs","ros-jazzy-geometry-msgs","ros-jazzy-gps-msgs","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-nav-msgs","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-gz-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosgraph-msgs","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-tf2-msgs","ros-jazzy-trajectory-msgs","ros-jazzy-vision-msgs","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118947703,"md5":"e337de3af59ca22178f3388f0c5428d5","name":"ros-jazzy-ros-gz-bridge","requires":[],"size":2534024,"version":"1.0.7","binstar":{"package_id":"6777d08b5687576dae3b96ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9f2c4dcdb9a22afd5d4dcf5a6e81471e88207eff787caf0cc56e1c7731e3a486"},"ros-jazzy-ros-gz-sim-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["gflags","python","ros-jazzy-ament-index-python","ros-jazzy-gz-math-vendor","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-sim-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","gflags >=2.2.2,<2.3.0a0","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118963234,"md5":"4b0847a81497583d9022219c94c52f85","name":"ros-jazzy-ros-gz-sim","requires":[],"size":294010,"version":"1.0.7","binstar":{"package_id":"6777d08f71d2ff3380c846ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"74143052b82a8bd972b594aaac6750001c6efe58ecc3a6aaa2e86908cc0b38b2"},"ros-jazzy-rqt-gui-py-1.6.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-qt-gui","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736118962632,"md5":"0aca5d259273e4bfae9050727a750f5a","name":"ros-jazzy-rqt-gui-py","requires":[],"size":48771,"version":"1.6.0","binstar":{"package_id":"6777d093bfb8b18a042fbc12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6a0d1815040b39d6599ed8bc148957354d2666638b050f2acbcdf1edc94beb93"},"ros-jazzy-diagnostic-updater-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-diagnostic-msgs","ros-jazzy-rclcpp","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119443917,"md5":"92ac0f0fd1d0e9d36c64c4ac0b63bca0","name":"ros-jazzy-diagnostic-updater","requires":[],"size":190660,"version":"4.2.1","binstar":{"package_id":"6777d0f09cf4135cd5ee3f9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f8a4bdbc111532f6c0d04d4a854da1c515799486e53e4141a5ea68ccf8d03f73"},"ros-jazzy-rqt-graph-1.5.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-qt-dotgraph","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119451312,"md5":"13f60f89cf34c44d5856394938ccae6d","name":"ros-jazzy-rqt-graph","requires":[],"size":70732,"version":"1.5.4","binstar":{"package_id":"6777d0f0b89b363eb8ee3f9b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"681956c7f5620db6e5697881977f806235d8897105a32e96bd4217edd0411458"},"ros-jazzy-rqt-publisher-1.7.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["numpy","python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui-py-common","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-py","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119455131,"md5":"354966cae260b8a89ab21ed969e2e12a","name":"ros-jazzy-rqt-publisher","requires":[],"size":43472,"version":"1.7.2","binstar":{"package_id":"6777d0f154270fe296c846d6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3104d87cf05e6d81c8c0653a967d9a55ee334b0e0c2bbba21fd4598e59a33fc9"},"ros-jazzy-rqt-py-console-1.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui","ros-jazzy-qt-gui-py-common","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119453933,"md5":"1c579d5619c967ed581851f2b1532206","name":"ros-jazzy-rqt-py-console","requires":[],"size":25179,"version":"1.2.2","binstar":{"package_id":"6777d0f3c1e153c141c846c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1a938cbfb207320bc9a6a0a38fd25a88f72f8ea4c9b29244e3da4b4b92c4b65e"},"ros-jazzy-rqt-service-caller-1.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119450708,"md5":"107833e3c2be20825a7a7d41a297d0e6","name":"ros-jazzy-rqt-service-caller","requires":[],"size":32189,"version":"1.2.1","binstar":{"package_id":"6777d0f51744634607c846e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"baccf2db3314c5dbfed478504ad498973711bdc46c77dda3957dff151b2dacc0"},"ros-jazzy-generate-parameter-library-0.3.9-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["fmt","python","ros-jazzy-generate-parameter-library-py","ros-jazzy-parameter-traits","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-tcb-span","ros-jazzy-tl-expected","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","fmt >=11.0.2,<12.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119439243,"md5":"6047159f71829ed162b683bfc8fa5203","name":"ros-jazzy-generate-parameter-library","requires":[],"size":44308,"version":"0.3.9","binstar":{"package_id":"6777d117b89b363eb8ee3f9e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"41d058cc8d663c188900621c83a4b386b7b55f9be388b0c1eab79462c27ea5c9"},"ros-jazzy-camera-calibration-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-cv-bridge","ros-jazzy-image-geometry","ros-jazzy-message-filters","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-srvs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","py-opencv >=4.10.0,<5.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119467348,"md5":"b8ba0b1e06372ddaa58af82af00ac7fa","name":"ros-jazzy-camera-calibration","requires":[],"size":124032,"version":"5.0.6","binstar":{"package_id":"6777d11b0cbafc2308ee3f8e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f61b89da767a32e3592d044642dd06740e219a9623263a84ca6be793054c75a9"},"ros-jazzy-diagnostic-aggregator-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119449044,"md5":"d599f5e65ab10853f2bcd74deb107b7a","name":"ros-jazzy-diagnostic-aggregator","requires":[],"size":472637,"version":"4.2.1","binstar":{"package_id":"6777d11e241dfcb70b3b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ccbdf3fddde9da9c69851196f7b1fe19a0dbc58e7fd6652bb467d6002e83c43"},"ros-jazzy-rqt-shell-1.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui","ros-jazzy-qt-gui-py-common","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119450588,"md5":"dd06753163aaa9608f3774e893fc1fff","name":"ros-jazzy-rqt-shell","requires":[],"size":29147,"version":"1.2.2","binstar":{"package_id":"6777d1201b37c47cf0ee3f6d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9fa86ce84a7278ee76de40e077f9adad7eba176e769a4b0369d22552b1633964"},"ros-jazzy-teleop-twist-joy-2.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-joy","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119466285,"md5":"b6e3a017dd0304a23f3d5681a8f310c2","name":"ros-jazzy-teleop-twist-joy","requires":[],"size":220646,"version":"2.6.2","binstar":{"package_id":"6777d1210eb0c3214ec846f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ae450954b86e58e313e93bb482960554608431500802e374e76ca35b339e6e55"},"ros-jazzy-pcl-conversions-2.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","libboost-devel","pcl","python","ros-jazzy-message-filters","ros-jazzy-pcl-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","vtk-base","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","vtk-base >=9.3.1,<9.3.2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","pcl >=1.14.1,<1.14.2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119446517,"md5":"d70c65c366f1482db2d80b4bb5b55cb5","name":"ros-jazzy-pcl-conversions","requires":[],"size":61551,"version":"2.6.2","binstar":{"package_id":"6777d139272818152c2fbc0e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"88cc8f6694e25fef031dd5b765346f3af3b2861243d5c4bb44ec9bb854b4cdcc"},"ros-jazzy-rqt-console-2.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-rcl-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119449870,"md5":"89418aaa5b437e6c98212c7496a42719","name":"ros-jazzy-rqt-console","requires":[],"size":85552,"version":"2.2.1","binstar":{"package_id":"6777d13cee7f3ec9a9ee3f8f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"795e2c4c459adda2ce9c0e82a95a571c4c2caea15477d918250f873d5d6577ca"},"ros-jazzy-rqt-plot-1.4.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["catkin_pkg","matplotlib-base","numpy","python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui-py-common","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119447312,"md5":"513ce6e53d604fbcfd48567850e4e01b","name":"ros-jazzy-rqt-plot","requires":[],"size":68900,"version":"1.4.0","binstar":{"package_id":"6777d13ee98b99d2473b96d7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b0e249366c6cea52e2e5ac032f8d8dd61ab4e56a4deba454ad543f99a2503bbf"},"ros-jazzy-nav2-msgs-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-builtin-interfaces","ros-jazzy-geographic-msgs","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-generators","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119445377,"md5":"1d8fe596bd3919b81b87250eaed21bc2","name":"ros-jazzy-nav2-msgs","requires":[],"size":2132369,"version":"1.3.4","binstar":{"package_id":"6777d1884b76e5fa113b96c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"869d14a0e967b54ea10e9da1dc77d6913bd6bf0246bcf50eb0698fc70c6833cd"},"ros-jazzy-nav2-voxel-grid-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119460005,"md5":"2e37cefeecf304ca72b795935966e96d","name":"ros-jazzy-nav2-voxel-grid","requires":[],"size":51618,"version":"1.3.4","binstar":{"package_id":"6777d18cc5960d1d89c846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b7034b8c2faf8e87fa1a4429ede40935eab6fc7609aa682a031233e1d727aeb3"},"ros-jazzy-composition-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-launch-ros","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119477663,"md5":"86158e83183f88b0d0f76051465988fa","name":"ros-jazzy-composition","requires":[],"size":332360,"version":"0.33.5","binstar":{"package_id":"6777d19e4fbc7913cd2fbc22","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6cb3f08645db738bcae917225fccd2192b7224417f0e18be5b68c5e3d51e41ef"},"ros-jazzy-demo-nodes-cpp-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-launch-ros","ros-jazzy-launch-xml","ros-jazzy-rcl","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119470497,"md5":"a26ccaae266df048f6575c3e3f2fc8fd","name":"ros-jazzy-demo-nodes-cpp","requires":[],"size":1326772,"version":"0.33.5","binstar":{"package_id":"6777d19f072330a8f73b96bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e9781c1fbb25be1e9f100176ae6c0e542c2a8af53fcd5bcbeb99ed3e5f791a75"},"ros-jazzy-control-toolbox-3.4.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","ros-jazzy-control-msgs","ros-jazzy-filters","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119802515,"md5":"517e936ce56afd70a7de6dfce905de4a","name":"ros-jazzy-control-toolbox","requires":[],"size":186777,"version":"3.4.0","binstar":{"package_id":"6777d2050eb0c3214ec846fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c98271543a23e143b14d785a99b92e260eb2d98b5361978a12094f0e3267855d"},"ros-jazzy-apriltag-ros-3.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-apriltag","ros-jazzy-apriltag-msgs","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119788826,"md5":"a9c1ef0461ee8c9e25182fc01a2c77ee","name":"ros-jazzy-apriltag-ros","requires":[],"size":207686,"version":"3.2.2","binstar":{"package_id":"6777d206bfb8b18a042fbc1f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"278655f6d80c8baae8a1e69a698347c829c5d88b15fd140c5bab42ad34cea20e"},"ros-jazzy-joint-state-publisher-2.4.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119799168,"md5":"819cf47c89b715bb8550aca1551b5b44","name":"ros-jazzy-joint-state-publisher","requires":[],"size":46806,"version":"2.4.0","binstar":{"package_id":"6777d206ee7f3ec9a9ee3f94","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"83da838abf85c1d0724482455af9f20798d0b3069e1b6568aaf645e1b8073992"},"ros-jazzy-diagnostic-common-diagnostics-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["psutil","python","ros-jazzy-diagnostic-updater","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119815619,"md5":"bd15836677f8ce1aa58e04ebb03f9193","name":"ros-jazzy-diagnostic-common-diagnostics","requires":[],"size":45516,"version":"4.2.1","binstar":{"package_id":"6777d2084fbc7913cd2fbc24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"efdc11fa6c42bc439176ebb15959992ea4c0929725342cab979236573b61aeb2"},"ros-jazzy-image-common-5.1.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-camera-calibration-parsers","ros-jazzy-camera-info-manager","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119834178,"md5":"bfd4535d6e598b5bd5cd0e1574364296","name":"ros-jazzy-image-common","requires":[],"size":24819,"version":"5.1.5","binstar":{"package_id":"6777d20bcd4f7fe7382fbc11","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58f1aaef260bd8e490e37866e3ce094d283b47c22d341f55ffc43a0ccda2a048"},"ros-jazzy-self-test-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-diagnostic-msgs","ros-jazzy-diagnostic-updater","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119816501,"md5":"ea505af917279c636a768ee04fd654c3","name":"ros-jazzy-self-test","requires":[],"size":118301,"version":"4.2.1","binstar":{"package_id":"6777d20d9cf4135cd5ee3fa5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d333ff6edf27c08bd7d5bc59a19f914833ef118d737b78d3f061f8ddd3fdf4cc"},"ros-jazzy-joint-limits-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-trajectory-msgs","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119786975,"md5":"8b6fb44c6b1e06825f8d4bc809579862","name":"ros-jazzy-joint-limits","requires":[],"size":108087,"version":"4.23.0","binstar":{"package_id":"6777d20eee7f3ec9a9ee3f96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6e235244b5c9bac422058faacf70dce88f0c0bedd972aa0167bf6ecc4fc9ffc5"},"ros-jazzy-rqt-msg-1.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-py","ros-jazzy-rqt-console","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119807523,"md5":"ce58afda11154b680d91b90bf770c097","name":"ros-jazzy-rqt-msg","requires":[],"size":30447,"version":"1.5.1","binstar":{"package_id":"6777d226dfa78867392fbc04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e129bb175b071664e96448fb70747e7ac44f0f53348a107901952e52ef90bb7f"},"ros-jazzy-rqt-reconfigure-1.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-qt-gui-py-common","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rqt-console","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119820036,"md5":"ab4eccdda9ba728018f5d625682e7a45","name":"ros-jazzy-rqt-reconfigure","requires":[],"size":80318,"version":"1.6.2","binstar":{"package_id":"6777d228c5960d1d89c846f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e2fb94c352479d28e5b4ab63100c68c8cac32315072a2b74223b5568977f0b57"},"ros-jazzy-velodyne-driver-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libpcap","python","ros-jazzy-diagnostic-updater","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros-jazzy-velodyne-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libpcap >=1.10.4,<1.11.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119810909,"md5":"15bc6a4c09099f462bcad4de1a6c09c8","name":"ros-jazzy-velodyne-driver","requires":[],"size":236761,"version":"2.5.1","binstar":{"package_id":"6777d22a1744634607c846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f73901d18fff59d9700e990661319c96cfd8852c7f07668200697d510b2c861"},"ros-jazzy-velodyne-pointcloud-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","libboost-devel","pcl","python","ros-jazzy-angles","ros-jazzy-diagnostic-updater","ros-jazzy-geometry-msgs","ros-jazzy-message-filters","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-velodyne-msgs","ros2-distro-mutex 0.6.* jazzy_*","vtk-base","yaml-cpp","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","vtk-base >=9.3.1,<9.3.2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","pcl >=1.14.1,<1.14.2.0a0","libopengl >=1.7.0,<2.0a0","yaml-cpp >=0.8.0,<0.9.0a0","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119812715,"md5":"10fdb9703e9c14076c38e9fbf4fc1622","name":"ros-jazzy-velodyne-pointcloud","requires":[],"size":357674,"version":"2.5.1","binstar":{"package_id":"6777d22b0eb0c3214ec84702","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4c2997cef71dcd9617dbb0a6db608f0bd0ec881214c08612643a138a19602454"},"ros-jazzy-image-publisher-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-camera-info-manager","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119827262,"md5":"e7d76e5ad0fbf378a74679315b71fd70","name":"ros-jazzy-image-publisher","requires":[],"size":196696,"version":"5.0.6","binstar":{"package_id":"6777d2474b76e5fa113b96ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dd5ea61ee4ab78242ac6410eeb109cee8e7790ebd6bb84715a34e5b9e27fdb4b"},"ros-jazzy-image-view-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-camera-calibration-parsers","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-message-filters","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-srvs","ros-jazzy-stereo-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119811226,"md5":"5fe1aee0e29ebe2daf06d6b850038e29","name":"ros-jazzy-image-view","requires":[],"size":439414,"version":"5.0.6","binstar":{"package_id":"6777d248272818152c2fbc12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8e4074d897375cd94b413632e86c010ba4fbbecb573071e87cfdc3280f4c7ba2"},"ros-jazzy-nav2-simple-commander-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-geometry-msgs","ros-jazzy-lifecycle-msgs","ros-jazzy-nav2-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119804587,"md5":"e165ec4dab4d394acdb5505501abf4f9","name":"ros-jazzy-nav2-simple-commander","requires":[],"size":64264,"version":"1.3.4","binstar":{"package_id":"6777d24971d2ff3380c846d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58c4599a15eeca1172306f541374facdff55596ba7904864573064d2c3734131"},"ros-jazzy-rqt-image-view-1.3.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-geometry-msgs","ros-jazzy-image-transport","ros-jazzy-qt-gui-cpp","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-cpp","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libopengl >=1.7.0,<2.0a0","qt-main >=5.15.15,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119808096,"md5":"211744cd76f5fb707a0c45152c186fd3","name":"ros-jazzy-rqt-image-view","requires":[],"size":294349,"version":"1.3.0","binstar":{"package_id":"6777d24ac5960d1d89c846fb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"16255775f6bec969b9e7d7cbaa442010fbe2eb7cb66a543769b16aa6531c2477"},"ros-jazzy-rqt-topic-1.7.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-python-qt-binding","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2topic","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119807659,"md5":"34879e7dc46bf05443822f95a32bc1b0","name":"ros-jazzy-rqt-topic","requires":[],"size":39099,"version":"1.7.3","binstar":{"package_id":"6777d24ce8b8e2b2622fbc35","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"36f5dac02c4944b7b28500584fe22ca8fd58c6dbf1008f2d635057fa7c63eda4"},"ros-jazzy-compressed-depth-image-transport-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119808447,"md5":"5b17b9532014959958a63c82564d421b","name":"ros-jazzy-compressed-depth-image-transport","requires":[],"size":308440,"version":"4.0.3","binstar":{"package_id":"6777d26571d2ff3380c846d9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2d616a6752caa0cb3e89bc637885486b7a5cf8586dbd1f5e0eda98600a1eaecd"},"ros-jazzy-compressed-image-transport-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119799581,"md5":"836257a3156ca80d771a85c7bacf62dc","name":"ros-jazzy-compressed-image-transport","requires":[],"size":319838,"version":"4.0.3","binstar":{"package_id":"6777d26954270fe296c846db","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"66573d6d686a1c7671fb26993657797ce7ac2dc14e6630ef7440dcc8a41e7712"},"ros-jazzy-ros-gz-image-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-gz-msgs-vendor","ros-jazzy-gz-transport-vendor","ros-jazzy-image-transport","ros-jazzy-rclcpp","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119806315,"md5":"d1ffa97660d573d885f77965577e5bfb","name":"ros-jazzy-ros-gz-image","requires":[],"size":73366,"version":"1.0.7","binstar":{"package_id":"6777d26b86441a05f32fbc04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4454bbb7659d5fe630bebacc364332fcdd9f8dd98bc1c3c767af920ee39a592b"},"ros-jazzy-theora-image-transport-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libogg","libopencv","libtheora","py-opencv","python","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libtheora >=1.1.1,<1.2.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","libogg >=1.3.5,<1.4.0a0","py-opencv >=4.10.0,<5.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119819049,"md5":"15d7811ef66940ee2bcfd75aed344f50","name":"ros-jazzy-theora-image-transport","requires":[],"size":443815,"version":"4.0.3","binstar":{"package_id":"6777d26dd7b44dbce48f268d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e3666b01ba7b111a599888b22fac4a4e63783aad884de51ce1625189c2e021c3"},"ros-jazzy-zstd-image-transport-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zlib","libgcc >=14","libstdcxx >=14","libgcc >=14","libzlib >=1.3.1,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119804376,"md5":"711921c5ae63f8a54e81c518923d655b","name":"ros-jazzy-zstd-image-transport","requires":[],"size":194972,"version":"4.0.3","binstar":{"package_id":"6777d270ae91a6a6d62fbbf8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"02b630b52192f5f9c9c542e2a45dbc193b31c4ccd32bf246a4fb37cc6cae724a"},"ros-jazzy-rviz-common-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-geometry-msgs","ros-jazzy-message-filters","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736119801236,"md5":"f4f84c17a8fd326ea2728922eced931f","name":"ros-jazzy-rviz-common","requires":[],"size":884509,"version":"14.1.6","binstar":{"package_id":"6777d2c8a88e57537b8b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0fadd9a8d69414dc87aae9220ee52236cd01b0d1e7e4f5bb07732bfa5a3c4bc6"},"ros-jazzy-rviz-common-14.1.6-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","qt-main","ros-jazzy-geometry-msgs","ros-jazzy-message-filters","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1737495967933,"md5":"e64054d78e38b869ccc110b219cebe6c","name":"ros-jazzy-rviz-common","requires":[],"size":870054,"version":"14.1.6","binstar":{"package_id":"6777d2c8a88e57537b8b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aaa2501fd8c41800af247ccf2a46476d520fc5f2a5d9b8f67045ac8ff8ac6817"},"ros-jazzy-hardware-interface-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-joint-limits","ros-jazzy-lifecycle-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-sdformat-urdf","ros-jazzy-tinyxml2-vendor","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120144264,"md5":"de4cfde3791a0250d313201cb0ecc878","name":"ros-jazzy-hardware-interface","requires":[],"size":379617,"version":"4.23.0","binstar":{"package_id":"6777d35d4479e9794f8f268c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ee62df45266842d54301724bc795dd796f9eb253ce1b6a5983aa346e9dfcbab6"},"ros-jazzy-joint-state-publisher-gui-2.4.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-joint-state-publisher","ros-jazzy-python-qt-binding","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120139702,"md5":"af9551786eff0589a3460a580f67d109","name":"ros-jazzy-joint-state-publisher-gui","requires":[],"size":28942,"version":"2.4.0","binstar":{"package_id":"6777d35e66375628ab8b59ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d05b11c1d655d240e553cafde656d8205f3697d42361f59d2edda8d65138293b"},"ros-jazzy-nav2-util-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-bond","ros-jazzy-bondcpp","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-lifecycle-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-msgs","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120141907,"md5":"135d4378939cfe806bf2226d696cd186","name":"ros-jazzy-nav2-util","requires":[],"size":261204,"version":"1.3.4","binstar":{"package_id":"6777d35fe8b8e2b2622fbc3c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"452e062065fe3bed688851cf6b2927d2885035e24e5252ec44826238e961e641"},"ros-jazzy-laser-filters-2.0.8-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-filters","ros-jazzy-laser-geometry","ros-jazzy-message-filters","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120151177,"md5":"b97c497d4d5cb9f8b111f37c3d88176b","name":"ros-jazzy-laser-filters","requires":[],"size":801069,"version":"2.0.8","binstar":{"package_id":"6777d364bd021e1d5b8b59cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eb6b1fef80a8ece826a37ef0c1693c571dd2baa93cbb8d8c11941cdf28c07024"},"ros-jazzy-pendulum-control-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pendulum-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rttest","ros-jazzy-tlsf-cpp","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120151315,"md5":"4cd5cb2ee9c3baffb79991aba1318fcb","name":"ros-jazzy-pendulum-control","requires":[],"size":353690,"version":"0.33.5","binstar":{"package_id":"6777d3654479e9794f8f2691","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d1dda35fd4dc7eac5965087843b9efae2f6c502d6120e3b964d7559bc98a0181"},"ros-jazzy-rqt-action-2.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-msg","ros-jazzy-rqt-py-common","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120148449,"md5":"5fcb73aeb83c138b93207dd6c29512ec","name":"ros-jazzy-rqt-action","requires":[],"size":20198,"version":"2.2.0","binstar":{"package_id":"6777d367bfb8b18a042fbc28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6785e7c5442122a6c2edf3d8114178a23f0f8a9a33b512d497f37f90332668ca"},"ros-jazzy-rqt-srv-1.2.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-msg","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120162933,"md5":"e2cea5d9642c7b7a4258300d52c24107","name":"ros-jazzy-rqt-srv","requires":[],"size":20897,"version":"1.2.2","binstar":{"package_id":"6777d3694479e9794f8f2693","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3549499f6328cd22b453cefff552e0135ca183cda0abfb9acb745645a4658de0"},"ros-jazzy-velodyne-2.5.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-velodyne-driver","ros-jazzy-velodyne-laserscan","ros-jazzy-velodyne-msgs","ros-jazzy-velodyne-pointcloud","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120151894,"md5":"b23bc195cde98c6f21ea15aa4e4e76d8","name":"ros-jazzy-velodyne","requires":[],"size":25653,"version":"2.5.1","binstar":{"package_id":"6777d36a04dc6d95688b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"26b1221cbb44334c9985bd6a10a30b12baec8d9e71f93376202523829e7f1be6"},"ros-jazzy-diagnostics-4.2.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-diagnostic-aggregator","ros-jazzy-diagnostic-common-diagnostics","ros-jazzy-diagnostic-updater","ros-jazzy-ros-workspace","ros-jazzy-self-test","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120152890,"md5":"663fa39b6f3811f7e5d9fd20ea6cdcba","name":"ros-jazzy-diagnostics","requires":[],"size":20687,"version":"4.2.1","binstar":{"package_id":"6777d3afca421b4ff78f268c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7c4d1a35023d6617676b25dad5f9be6eb6ea00d23e1eb14a0b2e4ed88ebc46e0"},"ros-jazzy-dummy-robot-bringup-0.33.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-dummy-map-server","ros-jazzy-dummy-sensors","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120141932,"md5":"06edba7b038e3db65868a1af4dd10c27","name":"ros-jazzy-dummy-robot-bringup","requires":[],"size":28970,"version":"0.33.5","binstar":{"package_id":"6777d3b11000bbd6d58f268e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"21496b6d3b372bafda99debf969e5acc75f81c48820e04fa678a34373779dc6b"},"ros-jazzy-sbg-driver-3.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nmea-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-rtcm-msgs","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120153353,"md5":"41007101f8dd15429b2a53becc882750","name":"ros-jazzy-sbg-driver","requires":[],"size":1446457,"version":"3.2.0","binstar":{"package_id":"6777d3b310af1de5228b59cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"703b13de1acbe21184f3e765bb368e1d1270bf7c70c048d01c82d24b7b1dd34f"},"ros-jazzy-image-proc-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-camera-calibration-parsers","ros-jazzy-cv-bridge","ros-jazzy-geometry-msgs","ros-jazzy-image-geometry","ros-jazzy-image-transport","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tracetools-image-pipeline","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libopencv >=4.10.0,<4.10.1.0a0","py-opencv >=4.10.0,<5.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120148926,"md5":"352259904cc3b64822a9c43a70ad5d0d","name":"ros-jazzy-image-proc","requires":[],"size":385231,"version":"5.0.6","binstar":{"package_id":"6777d3df1744634607c846fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7b06fe30019ee1d2ec37f6df2cba35c6cb34a0c527242ec04f43feddf42b1ac8"},"ros-jazzy-image-rotate-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-cv-bridge","ros-jazzy-geometry-msgs","ros-jazzy-image-transport","ros-jazzy-rcl-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","py-opencv >=4.10.0,<5.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120144155,"md5":"347156548c275655365716afa2fef276","name":"ros-jazzy-image-rotate","requires":[],"size":264343,"version":"5.0.6","binstar":{"package_id":"6777d3e1bd021e1d5b8b59d3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"78a1d2789af437831e31ec7f97ce49e2f820867ffd68da8c35962fc6926533f9"},"ros-jazzy-image-transport-plugins-4.0.3-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-compressed-depth-image-transport","ros-jazzy-compressed-image-transport","ros-jazzy-ros-workspace","ros-jazzy-theora-image-transport","ros-jazzy-zstd-image-transport","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120148072,"md5":"22a953b23a74c8c69c6e73f2678f1b5b","name":"ros-jazzy-image-transport-plugins","requires":[],"size":20992,"version":"4.0.3","binstar":{"package_id":"6777d3e3c5779afe9bc846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"db5edebe4d1dc38ce0e8d13b734ac797a9e5f078c05c590c297d0d096b26801e"},"ros-jazzy-pcl-ros-2.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","libboost-devel","pcl","python","ros-jazzy-geometry-msgs","ros-jazzy-pcl-conversions","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","vtk-base","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","pcl >=1.14.1,<1.14.2.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","vtk-base >=9.3.1,<9.3.2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120157675,"md5":"addaa47a74be5a867ac43f1eaf2ac757","name":"ros-jazzy-pcl-ros","requires":[],"size":682881,"version":"2.6.2","binstar":{"package_id":"6777d3e51744634607c846fe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"81ea7c27058def895b762a281e5a2fb8eadc206ce15d7770e3b733a7f37a509b"},"ros-jazzy-robot-localization-3.8.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","geographiclib-cpp","libboost-devel","python","ros-jazzy-angles","ros-jazzy-diagnostic-msgs","ros-jazzy-diagnostic-updater","ros-jazzy-geographic-msgs","ros-jazzy-geometry-msgs","ros-jazzy-message-filters","ros-jazzy-nav-msgs","ros-jazzy-rclcpp","ros-jazzy-rmw-implementation","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","geographiclib-cpp >=2.5,<2.6.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120146245,"md5":"707623819ab491f2c2779eb5814d93e5","name":"ros-jazzy-robot-localization","requires":[],"size":1152076,"version":"3.8.1","binstar":{"package_id":"6777d401189ff81bb0c846cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"74f2de1091f255fe838a9f7bc3607d7c743ef054ba5e70f8c0515bc3c4bf21fb"},"ros-jazzy-rviz-visual-testing-framework-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-gtest","ros-jazzy-geometry-msgs","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","qt-main >=5.15.15,<5.16.0a0","libgl >=1.7.0,<2.0a0","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120144891,"md5":"39812ccd35e19a920348d144f0696ad9","name":"ros-jazzy-rviz-visual-testing-framework","requires":[],"size":134531,"version":"14.1.6","binstar":{"package_id":"6777d405272818152c2fbc1f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1dcf30618bcd711917e19f4f6617778def13c56676896a9b60ec0a281ff9fcfb"},"ros-jazzy-warehouse-ros-2.0.5-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libboost-devel","libboost-python-devel","openssl","python","ros-jazzy-geometry-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","libboost-python >=1.86.0,<1.87.0a0","openssl >=3.4.0,<4.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120143279,"md5":"3de22617d9f687b703493b99cbb28c4d","name":"ros-jazzy-warehouse-ros","requires":[],"size":240428,"version":"2.0.5","binstar":{"package_id":"6777d407ae91a6a6d62fbbfb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d9b2257ff48cb934cc3bb4847562cc012271f6a5e5a7f180bbe515fcd0a32a36"},"ros-jazzy-perception-pcl-2.6.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-pcl-conversions","ros-jazzy-pcl-msgs","ros-jazzy-pcl-ros","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120539,"md5":"3fc62bba464ab159afc2c30d92285ea9","name":"ros-jazzy-perception-pcl","requires":[],"size":20781,"version":"2.6.2","binstar":{"package_id":"6777d43f6a0bceb80dc846e2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"446bc5cf4b8c4b09bd5532c9da20c23258b0911b0296a463bc0390fc526cbaca"},"ros-jazzy-controller-interface-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-hardware-interface","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120536294,"md5":"143fa656660d8445cb6fd4a8b098858a","name":"ros-jazzy-controller-interface","requires":[],"size":108069,"version":"4.23.0","binstar":{"package_id":"6777d49d4479e9794f8f269b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"18d9faad2efb7c57ec361765f4c50f55b03086bf441871df197b57c9fd154c4c"},"ros-jazzy-hardware-interface-testing-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-hardware-interface","ros-jazzy-lifecycle-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-ros2-control-test-assets","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120538720,"md5":"ca8b46bef8f8fc0a9c23f69e6bbe0b3b","name":"ros-jazzy-hardware-interface-testing","requires":[],"size":128476,"version":"4.23.0","binstar":{"package_id":"6777d49fc7f0608d038b59d2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ebbdfbba221c4c3d9e21afe937e1a5a16229405b309e033b828802673c5e45db"},"ros-jazzy-nav2-lifecycle-manager-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-bondcpp","ros-jazzy-diagnostic-updater","ros-jazzy-geometry-msgs","ros-jazzy-lifecycle-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-geometry-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120556676,"md5":"a47a2b323782c670d0e9778f6e620c7b","name":"ros-jazzy-nav2-lifecycle-manager","requires":[],"size":154637,"version":"1.3.4","binstar":{"package_id":"6777d4a1a88e57537b8b59cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"feab76d39ee062d8db68594c6172c5fe8f14d2c82fe20501f8a3265886c6ebdc"},"ros-jazzy-nav2-map-server-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["graphicsmagick","python","ros-jazzy-launch-ros","ros-jazzy-launch-testing","ros-jazzy-nav-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120545002,"md5":"55afeca322dc09c6208b72eea19d1258","name":"ros-jazzy-nav2-map-server","requires":[],"size":351365,"version":"1.3.4","binstar":{"package_id":"6777d4a2a88e57537b8b59cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"156dd5ffe463fe0bf37bd61cc1b6695f43dcc13f5ab605c751ac098b9ad0cdb3"},"ros-jazzy-depth-image-proc-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libopencv","py-opencv","python","ros-jazzy-cv-bridge","ros-jazzy-image-geometry","ros-jazzy-image-proc","ros-jazzy-image-transport","ros-jazzy-message-filters","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-stereo-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","py-opencv >=4.10.0,<5.0a0","numpy >=1.26.4,<2.0a0","libgl >=1.7.0,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120569635,"md5":"0114167e18fa43569c63720f56f708f6","name":"ros-jazzy-depth-image-proc","requires":[],"size":537517,"version":"5.0.6","binstar":{"package_id":"6777d5276a0bceb80dc846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"98b8790714ef8449ad6d7aab46e39b975d7a21b306b2f2b7a2e642a210c7903a"},"ros-jazzy-nav2-amcl-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-launch-ros","ros-jazzy-launch-testing","ros-jazzy-message-filters","ros-jazzy-nav-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120563292,"md5":"c683d2ca3f6303587e5846ed17fd04b8","name":"ros-jazzy-nav2-amcl","requires":[],"size":509179,"version":"1.3.4","binstar":{"package_id":"6777d52954270fe296c846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc26d644e3544413b3d29a3c21f5883efd0159f4a858cd5d3598cb605a7fa5a9"},"ros-jazzy-nav2-velocity-smoother-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120545482,"md5":"8c52877489b87c699b38365551ce560c","name":"ros-jazzy-nav2-velocity-smoother","requires":[],"size":243571,"version":"1.3.4","binstar":{"package_id":"6777d52bbfb8b18a042fbc2d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"715e62567aaf0f3eaa0a27732d5c73e798f3bb056ddb31e78072f5b4a0388ded"},"ros-jazzy-stereo-image-proc-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-geometry","ros-jazzy-image-proc","ros-jazzy-image-transport","ros-jazzy-message-filters","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-stereo-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","py-opencv >=4.10.0,<5.0a0","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120550026,"md5":"54faf6d61f5dca7e3ed8f29d8991dd22","name":"ros-jazzy-stereo-image-proc","requires":[],"size":444803,"version":"5.0.6","binstar":{"package_id":"6777d52f96cb5a5d358f268a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8ed7073dd5b5d47ccacac65355e8040b398c1790760b6debbb2d7319e6cbd63d"},"ros-jazzy-nav-2d-utils-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120554933,"md5":"037e8f54390d9ca18e4dfa1bbb2860dc","name":"ros-jazzy-nav-2d-utils","requires":[],"size":64900,"version":"1.3.4","binstar":{"package_id":"6777d74d6043c75fbc8f268d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"924bbde4a6d1ba9e7f448a757e1acb9ab4a4abf8526d26c8193496601a566da1"},"ros-jazzy-nav2-behavior-tree-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-behaviortree-cpp","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-lifecycle-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120541423,"md5":"97fe8bf5529e1dfd520799a5d3c1c7c8","name":"ros-jazzy-nav2-behavior-tree","requires":[],"size":2107092,"version":"1.3.4","binstar":{"package_id":"6777d74ebfb8b18a042fbc2f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4424176880cd8108b6cf85a49dcfb6eed4ff7946cf8499fad96e7d65e4d3fc9e"},"ros-jazzy-opennav-docking-core-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120544177,"md5":"1331263c9e78c27fda9b71f9f80e0234","name":"ros-jazzy-opennav-docking-core","requires":[],"size":43280,"version":"1.3.4","binstar":{"package_id":"6777d74f1f1fd598f85294c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14d22362c6447cd17b0628b9ca3fcd2dc1e9db30bb0cb3214bcddcc9da4dc830"},"ros-jazzy-rviz-default-plugins-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-geometry-msgs","ros-jazzy-gz-math-vendor","ros-jazzy-image-transport","ros-jazzy-interactive-markers","ros-jazzy-laser-geometry","ros-jazzy-map-msgs","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-point-cloud-transport","ros-jazzy-rclcpp","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-urdf","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","libopengl >=1.7.0,<2.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736120539060,"md5":"eb59981e445424efb4738500d1e15ee2","name":"ros-jazzy-rviz-default-plugins","requires":[],"size":2318988,"version":"14.1.6","binstar":{"package_id":"6777d752a410428903a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b66646e9738e9b87b3ce9b7d0dbc4cb7ff28d1f6ecd23e2bfbb7e4e5900a6c49"},"ros-jazzy-image-pipeline-5.0.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-camera-calibration","ros-jazzy-depth-image-proc","ros-jazzy-image-proc","ros-jazzy-image-publisher","ros-jazzy-image-rotate","ros-jazzy-image-view","ros-jazzy-ros-workspace","ros-jazzy-stereo-image-proc","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121111703,"md5":"b9890ed96cae77d8e7fd2c433979bbe4","name":"ros-jazzy-image-pipeline","requires":[],"size":21773,"version":"5.0.6","binstar":{"package_id":"6777d8693788bac9f3c4c0f0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"61a6af763a2fddbfa943d7441e4551536ee6374d10bf0f93be6cc60ee0edfad2"},"ros-jazzy-slam-toolbox-2.8.2-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["ceres-solver","eigen","libboost-devel","libboost-python-devel","liblapack","python","qt-main","ros-jazzy-bond","ros-jazzy-bondcpp","ros-jazzy-builtin-interfaces","ros-jazzy-interactive-markers","ros-jazzy-lifecycle-msgs","ros-jazzy-message-filters","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-generators","ros-jazzy-rviz-common","ros-jazzy-rviz-default-plugins","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-tf2-sensor-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","suitesparse","tbb","tbb-devel","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","libboost-python >=1.86.0,<1.87.0a0","qt-main >=5.15.15,<5.16.0a0","libboost >=1.86.0,<1.87.0a0","tbb >=2022.0.0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","ceres-solver >=2.2.0,<2.3.0a0","eigen >=3.4.0,<3.4.1.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","liblapack >=3.9.0,<3.10.0a0","suitesparse >=7.8.3,<8.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121108238,"md5":"84627fdadf91d9ce9e2c28ffda4926a7","name":"ros-jazzy-slam-toolbox","requires":[],"size":3037834,"version":"2.8.2","binstar":{"package_id":"6777d86d1000bbd6d58f2697","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6c958a9c16caac2bf117aed3da9abfc8d136dc6276db157a3549dc91c9fed416"},"ros-jazzy-controller-manager-4.23.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-controller-manager-msgs","ros-jazzy-diagnostic-updater","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-libstatistics-collector","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rcpputils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-ros2-control-test-assets","ros-jazzy-ros2param","ros-jazzy-ros2run","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121086383,"md5":"3ad66dc5b6899d1bef3378d5f2294294","name":"ros-jazzy-controller-manager","requires":[],"size":536337,"version":"4.23.0","binstar":{"package_id":"6777d8b39d68c71e7aa4765c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6eebc6efb62b88d1292ee88eb286aa9477f3a2e4cd56f9d1cb68d22b993965cd"},"ros-jazzy-nav2-costmap-2d-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-geometry-msgs","ros-jazzy-laser-geometry","ros-jazzy-map-msgs","ros-jazzy-message-filters","ros-jazzy-nav-msgs","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-nav2-voxel-grid","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-tf2-sensor-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121088117,"md5":"b11d2827c1f10b1ad02cba541f53d642","name":"ros-jazzy-nav2-costmap-2d","requires":[],"size":1477960,"version":"1.3.4","binstar":{"package_id":"6777d8b6b734ab2338a4765e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"720249d8694ea9143896e5e9a0b0372bb1ee08097b52d61b17ebe09f0b5b4a23"},"ros-jazzy-nav2-rviz-plugins-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-lifecycle-manager","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-default-plugins","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-std-msgs","ros-jazzy-tf2-geometry-msgs","ros-jazzy-urdf","ros-jazzy-visualization-msgs","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","libopengl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121091978,"md5":"1c171315490e1bb9ea19c498777f752f","name":"ros-jazzy-nav2-rviz-plugins","requires":[],"size":687600,"version":"1.3.4","binstar":{"package_id":"6777d8b83788bac9f3c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2ce2aec4d2646d917a621636d747555edbc40e7d7923263a86a14446b793daa1"},"ros-jazzy-rviz2-14.1.6-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-default-plugins","ros-jazzy-rviz-ogre-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121105906,"md5":"fb27f97b2bf0443e2efe889b095f8f67","name":"ros-jazzy-rviz2","requires":[],"size":75387,"version":"14.1.6","binstar":{"package_id":"6777d8bcb734ab2338a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"693d9a4393623c4527464a7857ec5650c166347d9516a4617bd80dcf625d781f"},"ros-jazzy-costmap-queue-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-nav2-costmap-2d","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121512430,"md5":"9044d7efc665e79a77ae21a405fb1d7d","name":"ros-jazzy-costmap-queue","requires":[],"size":57419,"version":"1.3.4","binstar":{"package_id":"6777d970556e2b8af3c4c0f2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"63d077683365dba1d5703de14d4946c349bb5d9c23de23ab3d6445d4c667445e"},"ros-jazzy-nav2-collision-monitor-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121520552,"md5":"125d03545b42ca76054b2c0c5efb7f54","name":"ros-jazzy-nav2-collision-monitor","requires":[],"size":842280,"version":"1.3.4","binstar":{"package_id":"6777d9731f1fd598f85294c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"79eaa09a3ba651ddc5258b8a602432b7c60464f8cd70906905738be687fa24dc"},"ros-jazzy-forward-command-controller-4.18.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121517093,"md5":"d98a5d93a6813bab1ef46976ac9a73e9","name":"ros-jazzy-forward-command-controller","requires":[],"size":216978,"version":"4.18.0","binstar":{"package_id":"6777d9733f0ca1f1c9c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46a02c7aa21c2acf086d094401e58ee82bd909b13a37a73498383f851008f6b6"},"ros-jazzy-gripper-controllers-4.18.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121518829,"md5":"8721b5f774436d2fb8592476c96a8f11","name":"ros-jazzy-gripper-controllers","requires":[],"size":150645,"version":"4.18.0","binstar":{"package_id":"6777d9758fd59142f15294c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3da98181153626a35baa7c691954d180e525bc0ec83bbfa1dbae587c012bbd42"},"ros-jazzy-ros-gz-sim-demos-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-gz-sim-vendor","ros-jazzy-image-transport-plugins","ros-jazzy-robot-state-publisher","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-gz-image","ros-jazzy-ros-gz-sim","ros-jazzy-ros-workspace","ros-jazzy-rqt-image-view","ros-jazzy-rqt-plot","ros-jazzy-rqt-topic","ros-jazzy-rviz2","ros-jazzy-sdformat-urdf","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121536638,"md5":"4188cf051c57ab89f290976998853137","name":"ros-jazzy-ros-gz-sim-demos","requires":[],"size":90483,"version":"1.0.7","binstar":{"package_id":"6777d976497a9018dda4765a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2b3c87900e98636a1536a469007af0966fcd4190787cc54921639142edadf5cc"},"ros-jazzy-nav2-core-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-behavior-tree","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121511624,"md5":"cdbb0f6e54048d9d5861c47b292f6333","name":"ros-jazzy-nav2-core","requires":[],"size":51222,"version":"1.3.4","binstar":{"package_id":"6777d9783f0ca1f1c9c4c0f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e842a17e651986bf155cebd57a32ed7a763e086c84d615093ca16db16b95693b"},"ros-jazzy-nav2-behaviors-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-behavior-tree","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121806320,"md5":"e6bfababa60b612f1fb77a64dbd0b19d","name":"ros-jazzy-nav2-behaviors","requires":[],"size":679118,"version":"1.3.4","binstar":{"package_id":"6777d9ed76332b66b0a4765a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2fe8a0ceab3dc9839039de814881ad8deaee135066662475b336b3dacf74e52e"},"ros-jazzy-ros-gz-1.0.7-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-gz-image","ros-jazzy-ros-gz-sim","ros-jazzy-ros-gz-sim-demos","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121800721,"md5":"93f155e263f20ae6cfdfcd9cec41decd","name":"ros-jazzy-ros-gz","requires":[],"size":24690,"version":"1.0.7","binstar":{"package_id":"6777d9efd7b44dbce48f269c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14a10d7f1e19f0d0a93da095fd23006b5ed694678b971336f8802c3483b9eb88"},"ros-jazzy-dwb-core-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-dwb-msgs","ros-jazzy-geometry-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav-msgs","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121801043,"md5":"ea6d7bee6107b8bbbd05e63aaed7ad1d","name":"ros-jazzy-dwb-core","requires":[],"size":307238,"version":"1.3.4","binstar":{"package_id":"6777da623788bac9f3c4c0fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f584f190386ef3781b72ffd3ee76bdae335d606e696e783c03609cc5e0966f55"},"ros-jazzy-nav2-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121799396,"md5":"76c3512b9a96fd270047c108ab1d91bc","name":"ros-jazzy-nav2-controller","requires":[],"size":467076,"version":"1.3.4","binstar":{"package_id":"6777da63556e2b8af3c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58d129bff624614453ed878b702191f36720ecbc3d5030f4b3d84562e1adecb1"},"ros-jazzy-nav2-regulated-pure-pursuit-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-geometry-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121798912,"md5":"866b1012f2983eed515631cb7b9ab387","name":"ros-jazzy-nav2-regulated-pure-pursuit-controller","requires":[],"size":179541,"version":"1.3.4","binstar":{"package_id":"6777da64a410428903a4766d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9d3555535e867cc07267ef7e91b18da88cca11622cdde9906682796f148760dd"},"ros-jazzy-position-controllers-4.18.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-forward-command-controller","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121795341,"md5":"4e530b74e13a6268dce3269742c052d1","name":"ros-jazzy-position-controllers","requires":[],"size":71357,"version":"4.18.0","binstar":{"package_id":"6777da66d3fb4386b48f2691","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c16b266b17e3225a5d0ca85c97ad9fb02c5531eaaab8f8a8a2743a06627490a4"},"ros-jazzy-nav2-bt-navigator-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-behaviortree-cpp","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-behavior-tree","ros-jazzy-nav2-core","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121821821,"md5":"92b1f71418cc8b69f5f0ec77ada57450","name":"ros-jazzy-nav2-bt-navigator","requires":[],"size":656013,"version":"1.3.4","binstar":{"package_id":"6777da8f556e2b8af3c4c0f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c96714e6263b29633ca61f639ac7fd43f6b7d79f2b13840194800ebff6248185"},"ros-jazzy-nav2-constrained-smoother-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["ceres-solver","python","ros-jazzy-angles","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ceres-solver >=2.2.0,<2.3.0a0","eigen >=3.4.0,<3.4.1.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121820778,"md5":"710679be56ba96e158710443218b2850","name":"ros-jazzy-nav2-constrained-smoother","requires":[],"size":107546,"version":"1.3.4","binstar":{"package_id":"6777da924cca628f07a4765d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"97c9ed9de05c3952ae4e14a5683d03c95af7f27ad41b89de2d8c843c30d2caca"},"ros-jazzy-nav2-mppi-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["benchmark","libgomp","python","ros-jazzy-geometry-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","xsimd","xtensor","libgcc >=14","libstdcxx >=14","libgcc >=14","_openmp_mutex >=4.5","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121804902,"md5":"623a8f0d14e714e795423c71610ed72c","name":"ros-jazzy-nav2-mppi-controller","requires":[],"size":645683,"version":"1.3.4","binstar":{"package_id":"6777da96d7b44dbce48f269e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e14a135ca8fe0052bb3e2dd1680e12a9126fe6b4ceba007c11d158483ada795c"},"ros-jazzy-nav2-navfn-planner-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121807391,"md5":"24a5abb3386abea7b448c4f34f333874","name":"ros-jazzy-nav2-navfn-planner","requires":[],"size":94407,"version":"1.3.4","binstar":{"package_id":"6777da99ca421b4ff78f2699","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"00309b77f06b6d73cab503aa290c6bdebafe5690ed0c1a4f967aad5b5fa7c186"},"ros-jazzy-nav2-planner-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121819610,"md5":"67de2b4af177919690d51a926a5776e5","name":"ros-jazzy-nav2-planner","requires":[],"size":312308,"version":"1.3.4","binstar":{"package_id":"6777da9c4479e9794f8f26a6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c81e8a3ade017d54dd799cd51a4ccd81ab2d40cba4f33822eede669e5aeedfd5"},"ros-jazzy-nav2-smac-planner-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","nlohmann_json","python","ros-jazzy-angles","ros-jazzy-builtin-interfaces","ros-jazzy-eigen3-cmake-module","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-ompl","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","libode >=0.16.5,<0.16.6.0a0","ompl >=1.6.0,<1.7.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121805539,"md5":"a826cac2ec64fa170060133c76842a3a","name":"ros-jazzy-nav2-smac-planner","requires":[],"size":747503,"version":"1.3.4","binstar":{"package_id":"6777daa54cca628f07a47660","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ac3dfc50881d416f50cdf106d47708ed9e6033222170c46c4274164ff47bebce"},"ros-jazzy-nav2-smoother-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav2-core","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121806901,"md5":"9583dd7aa6b2a630b44c42bc4e60d161","name":"ros-jazzy-nav2-smoother","requires":[],"size":326272,"version":"1.3.4","binstar":{"package_id":"6777daa64cca628f07a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9703f19f33fdeb6323b0165a3e2a343544187a9208e98c316859a2bae4e511e2"},"ros-jazzy-nav2-theta-star-planner-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121799328,"md5":"b5b982b62f15375f0ab7f75ab1ac8917","name":"ros-jazzy-nav2-theta-star-planner","requires":[],"size":86469,"version":"1.3.4","binstar":{"package_id":"6777daa91624366d48a47661","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cd69ea371a5caac7090d825b1479152a1a78057083aabd9019c9737f363aa770"},"ros-jazzy-nav2-waypoint-follower-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-geographic-msgs","ros-jazzy-image-transport","ros-jazzy-nav-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-robot-localization","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121805961,"md5":"444869b6d47359aaaa99d02d7c7b1f74","name":"ros-jazzy-nav2-waypoint-follower","requires":[],"size":529474,"version":"1.3.4","binstar":{"package_id":"6777daab1624366d48a47663","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"17005ac2c94f63c946d31aae5e7f7826514c7c3ba93b254c1b53cee1c9584e37"},"ros-jazzy-opennav-docking-bt-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-behaviortree-cpp","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-behavior-tree","ros-jazzy-nav2-core","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736121801370,"md5":"610fac303aee3111909208c0ed6c0abb","name":"ros-jazzy-opennav-docking-bt","requires":[],"size":198218,"version":"1.3.4","binstar":{"package_id":"6777daadd3fb4386b48f2693","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"362ce28e550f2654097c6580a4a18393a98abf958ac6dceab802094774af2b62"},"ros-jazzy-nav2-rotation-shim-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-geometry-msgs","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122104601,"md5":"57703fe7bf2791361eae84c20efaefe4","name":"ros-jazzy-nav2-rotation-shim-controller","requires":[],"size":177839,"version":"1.3.4","binstar":{"package_id":"6777db032de5b933355294cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1b96d5502882b651b38b0ed3e398e59d00f0b48f38d0461d51f23e1ccb85e5c3"},"ros-jazzy-rqt-bag-1.5.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-python-qt-binding","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-py","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122126518,"md5":"460e7091e0d94d874613a138edad7d6d","name":"ros-jazzy-rqt-bag","requires":[],"size":137877,"version":"1.5.4","binstar":{"package_id":"6777db05deec2af1875294cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe4fce170d9ad7e10846955d188e4c3716a1cd03ac673a05d23036b92d69bc76"},"ros-jazzy-dwb-critics-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-costmap-queue","ros-jazzy-dwb-core","ros-jazzy-geometry-msgs","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122091235,"md5":"5aa56091b34ebf620e319b9aa7403f24","name":"ros-jazzy-dwb-critics","requires":[],"size":117581,"version":"1.3.4","binstar":{"package_id":"6777db534479e9794f8f26ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24c15880d463a0eecc2ae5cbd3a74774b1316cbc28b9c121acd945d5186f1845"},"ros-jazzy-dwb-plugins-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-dwb-core","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122121491,"md5":"e2d7328d894852335d868efc6433f1de","name":"ros-jazzy-dwb-plugins","requires":[],"size":90325,"version":"1.3.4","binstar":{"package_id":"6777db553788bac9f3c4c102","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"318789fc632ae31543655269afe6d7d81055e2141442b6360171a376da0ea0c9"},"ros-jazzy-moveit-resources-fanuc-moveit-config-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-controller-manager","ros-jazzy-joint-state-publisher","ros-jazzy-moveit-resources-fanuc-description","ros-jazzy-position-controllers","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-ros2cli-common-extensions","ros-jazzy-tf2-ros","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122098580,"md5":"ce4dedbe6d3ac89fc40ccd08842229a0","name":"ros-jazzy-moveit-resources-fanuc-moveit-config","requires":[],"size":32464,"version":"3.1.0","binstar":{"package_id":"6777db5eb55c88d649a4765e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8d876ba4aff65d049a35fd06e749cf97a2da56c4bfe73cc8408e8135c3b5b735"},"ros-jazzy-moveit-resources-panda-moveit-config-3.1.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-controller-manager","ros-jazzy-gripper-controllers","ros-jazzy-joint-state-publisher","ros-jazzy-joint-state-publisher-gui","ros-jazzy-moveit-resources-panda-description","ros-jazzy-position-controllers","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-ros2cli-common-extensions","ros-jazzy-topic-tools","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122101252,"md5":"35a82a17838643037ff3439374ebad78","name":"ros-jazzy-moveit-resources-panda-moveit-config","requires":[],"size":37660,"version":"3.1.0","binstar":{"package_id":"6777db603788bac9f3c4c104","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7b2da240d563a20c9a68ce73a614ac18a38e00a5a9244c69d88f8e14e43aed09"},"ros-jazzy-nav2-graceful-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-geometry-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-nav2-common","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122104307,"md5":"2ef43de6ac4a9b37fcec9a4ebcf11743","name":"ros-jazzy-nav2-graceful-controller","requires":[],"size":174008,"version":"1.3.4","binstar":{"package_id":"6777db61556e2b8af3c4c0fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"890b719b5f895e2606b8916164ee7aa5025c4896b7c06689237bef02a86426eb"},"ros-jazzy-moveit-core-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["assimp","bullet","eigen","fcl","libboost-devel","libboost-python-devel","python","ros-jazzy-angles","ros-jazzy-common-interfaces","ros-jazzy-eigen-stl-containers","ros-jazzy-eigen3-cmake-module","ros-jazzy-generate-parameter-library","ros-jazzy-geometric-shapes","ros-jazzy-geometry-msgs","ros-jazzy-google-benchmark-vendor","ros-jazzy-kdl-parser","ros-jazzy-moveit-common","ros-jazzy-moveit-msgs","ros-jazzy-octomap-msgs","ros-jazzy-osqp-vendor","ros-jazzy-pluginlib","ros-jazzy-random-numbers","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-ruckig","ros-jazzy-sensor-msgs","ros-jazzy-shape-msgs","ros-jazzy-srdfdom","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros-jazzy-trajectory-msgs","ros-jazzy-urdf","ros-jazzy-urdfdom","ros-jazzy-urdfdom-headers","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","fcl >=0.7.0,<0.8.0a0","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libboost-python >=1.86.0,<1.87.0a0","assimp >=5.4.3,<5.4.4.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122390946,"md5":"f919a2360b7db78e33635cafb8e16be6","name":"ros-jazzy-moveit-core","requires":[],"size":1876357,"version":"2.12.1","binstar":{"package_id":"6777dcf5556e2b8af3c4c0ff","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"26dc4268b297a4abd71822668138a19fc11745723385218651530b8745448f7e"},"ros-jazzy-nav2-dwb-controller-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-costmap-queue","ros-jazzy-dwb-core","ros-jazzy-dwb-critics","ros-jazzy-dwb-msgs","ros-jazzy-dwb-plugins","ros-jazzy-nav-2d-msgs","ros-jazzy-nav-2d-utils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122388171,"md5":"1d2fc98ae195f5dd2c288fc157437acf","name":"ros-jazzy-nav2-dwb-controller","requires":[],"size":41618,"version":"1.3.4","binstar":{"package_id":"6777dcf73788bac9f3c4c108","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1c634c6b888b35a8381d66e089c0b8c9028481712b2da87d57c4099b87f087c0"},"ros-jazzy-opennav-docking-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-nav-msgs","ros-jazzy-nav2-graceful-controller","ros-jazzy-nav2-msgs","ros-jazzy-nav2-util","ros-jazzy-opennav-docking-core","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-tf2-ros","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122384046,"md5":"dcc0417a376ed444e5bec3b146a08a92","name":"ros-jazzy-opennav-docking","requires":[],"size":740447,"version":"1.3.4","binstar":{"package_id":"6777dcf9d7b44dbce48f26a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"be907a6f691b5a0b90714211784d91fc12c02967eae02a9d152d29b966028520"},"ros-jazzy-chomp-motion-planner-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122826959,"md5":"f74a81009e0c6847ffba3b3d8bc08cde","name":"ros-jazzy-chomp-motion-planner","requires":[],"size":194210,"version":"2.12.1","binstar":{"package_id":"6777dd83bcf2e2640ffa72ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9855667363e88d5f4eed798b24769bd83849acdc4d7cb85ad0f9d9bffc120688"},"ros-jazzy-moveit-planners-stomp-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-generate-parameter-library","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-std-msgs","ros-jazzy-stomp","ros-jazzy-tf2-eigen","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122801449,"md5":"a08f9e26b2c40be863a432ff7ea65607","name":"ros-jazzy-moveit-planners-stomp","requires":[],"size":234000,"version":"2.12.1","binstar":{"package_id":"6777dd86ca6bb0392aa47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"68922fe92f6da24a62ca33a0be3cb0a3563968d3d4bea5c3d6a70960c207767a"},"ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-generate-parameter-library","ros-jazzy-moveit-core","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122804209,"md5":"fec87f05cfff057f7eb91a1a46747859","name":"ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin","requires":[],"size":191939,"version":"2.12.1","binstar":{"package_id":"6777ddc4b734ab2338a4766b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f7bcd474bac33906f8de565edee8046bf30c3f37f4f718b5a4e193eb12797286"},"ros-jazzy-moveit-ros-occupancy-map-monitor-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","python","ros-jazzy-eigen3-cmake-module","ros-jazzy-geometric-shapes","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122803509,"md5":"3feea9009a445e5828f691d6df4478c4","name":"ros-jazzy-moveit-ros-occupancy-map-monitor","requires":[],"size":391695,"version":"2.12.1","binstar":{"package_id":"6777ddc51000bbd6d58f26af","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"29e3abd3c5745ff9b7293d2d10c74f5c9fcd74068940728fb5798210ddf3a423"},"ros-jazzy-moveit-simple-controller-manager-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122806053,"md5":"93583d47b389b581e527f90c10d1c36d","name":"ros-jazzy-moveit-simple-controller-manager","requires":[],"size":179804,"version":"2.12.1","binstar":{"package_id":"6777ddc88ed9e7804dc4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"391a73099463bff65279ea7da776493d438ee72434b93c99102e186d455fc989"},"ros-jazzy-navigation2-1.3.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-nav2-amcl","ros-jazzy-nav2-behavior-tree","ros-jazzy-nav2-behaviors","ros-jazzy-nav2-bt-navigator","ros-jazzy-nav2-collision-monitor","ros-jazzy-nav2-constrained-smoother","ros-jazzy-nav2-controller","ros-jazzy-nav2-core","ros-jazzy-nav2-costmap-2d","ros-jazzy-nav2-dwb-controller","ros-jazzy-nav2-graceful-controller","ros-jazzy-nav2-lifecycle-manager","ros-jazzy-nav2-map-server","ros-jazzy-nav2-mppi-controller","ros-jazzy-nav2-msgs","ros-jazzy-nav2-navfn-planner","ros-jazzy-nav2-planner","ros-jazzy-nav2-regulated-pure-pursuit-controller","ros-jazzy-nav2-rotation-shim-controller","ros-jazzy-nav2-rviz-plugins","ros-jazzy-nav2-simple-commander","ros-jazzy-nav2-smac-planner","ros-jazzy-nav2-smoother","ros-jazzy-nav2-theta-star-planner","ros-jazzy-nav2-util","ros-jazzy-nav2-velocity-smoother","ros-jazzy-nav2-voxel-grid","ros-jazzy-nav2-waypoint-follower","ros-jazzy-opennav-docking","ros-jazzy-opennav-docking-bt","ros-jazzy-opennav-docking-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122801250,"md5":"96bb120e08cb2ea52fec776b1f11d776","name":"ros-jazzy-navigation2","requires":[],"size":21426,"version":"1.3.4","binstar":{"package_id":"6777ddca8fd59142f15294d9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1a3f49dd453d1d592547e8c45eb7b77e5a8d6be7841c10c1e4a2fc348ee7ede1"},"ros-jazzy-pilz-industrial-motion-planner-testutils-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-eigen3-cmake-module","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736122806222,"md5":"bf6ca1fe564fd9f3a275548455763fe5","name":"ros-jazzy-pilz-industrial-motion-planner-testutils","requires":[],"size":189541,"version":"2.12.1","binstar":{"package_id":"6777ddcca410428903a47674","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"25bdb1407d36954f9e2cca5f90dc6c502b14cdb2aab98e18a8fcfc78892112b4"},"ros-jazzy-moveit-planners-chomp-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-chomp-motion-planner","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123102550,"md5":"a4926b510dcbea4265428a6968a00e9e","name":"ros-jazzy-moveit-planners-chomp","requires":[],"size":90896,"version":"2.12.1","binstar":{"package_id":"6777df10b734ab2338a4766f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e469196a8fc4b9d96831e90ff0f5656f43201722e25912748b6b06d2790a8a87"},"ros-jazzy-moveit-plugins-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-simple-controller-manager","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123100995,"md5":"f4eca8720cfb3ee84c8e0bdb23c95a1f","name":"ros-jazzy-moveit-plugins","requires":[],"size":20681,"version":"2.12.1","binstar":{"package_id":"6777df12497a9018dda4765f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8050ef164d18f7dc914afaae1c9291e2f21667a39d668df222690eaea8c5f0a"},"ros-jazzy-moveit-ros-planning-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","fmt","python","ros-jazzy-ament-index-cpp","ros-jazzy-eigen3-cmake-module","ros-jazzy-generate-parameter-library","ros-jazzy-message-filters","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-occupancy-map-monitor","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-srdfdom","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-msgs","ros-jazzy-tf2-ros","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","fmt >=11.0.2,<12.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123100595,"md5":"fe62e71ad1f33b2371f80990cf1aff7b","name":"ros-jazzy-moveit-ros-planning","requires":[],"size":1710411,"version":"2.12.1","binstar":{"package_id":"6777df14137f768132c4c107","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"568b10b881ceaab05a43f6afb6ba793b4201d3918c41f4dd530d6ef88e695320"},"ros-jazzy-rqt-bag-plugins-1.5.4-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["pillow","pycairo","python","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosbag2","ros-jazzy-rqt-bag","ros-jazzy-rqt-gui","ros-jazzy-rqt-gui-py","ros-jazzy-rqt-plot","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123104462,"md5":"7e27d74f45d3c3a901fc2bb32bbdb763","name":"ros-jazzy-rqt-bag-plugins","requires":[],"size":49609,"version":"1.5.4","binstar":{"package_id":"6777df18ca6bb0392aa47666","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"06e5d82f3c4ea75036af97768fb5459697ea4a1d8d158370bbde3209b1a27229"},"ros-jazzy-perception-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-image-common","ros-jazzy-image-pipeline","ros-jazzy-image-transport-plugins","ros-jazzy-laser-filters","ros-jazzy-laser-geometry","ros-jazzy-perception-pcl","ros-jazzy-ros-base","ros-jazzy-ros-workspace","ros-jazzy-vision-opencv","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123490715,"md5":"be1cff04dc5bd889e7cb8ac3fb7f972e","name":"ros-jazzy-perception","requires":[],"size":20746,"version":"0.11.0","binstar":{"package_id":"6777df584479e9794f8f26b9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9ed3ef730e7740848aa0d5cc5091bee2c61df346f0d0ebfc49d0394e2c3e3e38"},"ros-jazzy-simulation-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-base","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-gz-image","ros-jazzy-ros-gz-interfaces","ros-jazzy-ros-gz-sim","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123507744,"md5":"6e91a5fe032767b003fe44444a2dd2eb","name":"ros-jazzy-simulation","requires":[],"size":20607,"version":"0.11.0","binstar":{"package_id":"6777df596da582d1198f2695","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"28563fab47a03abd547a99a7856e0533c9b6cbf74b3bd0695f65549f2532cd1c"},"ros-jazzy-moveit-kinematics-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["eigen","lxml","python","ros-jazzy-class-loader","ros-jazzy-generate-parameter-library","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-planning","ros-jazzy-orocos-kdl-vendor","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-tf2","ros-jazzy-tf2-kdl","ros-jazzy-urdfdom","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123487051,"md5":"f800814547b302b6ff9f69235b75a1cc","name":"ros-jazzy-moveit-kinematics","requires":[],"size":374266,"version":"2.12.1","binstar":{"package_id":"6777e074efd720d2545294cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1c917ed127234f57c58120a43968c64e8a8d6c79d5779174b6223ddcbe90b4b8"},"ros-jazzy-moveit-planners-ompl-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libgomp","python","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-planning","ros-jazzy-ompl","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","_openmp_mutex >=4.5","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123492105,"md5":"db9813cf36f0a5b59b933acccc589289","name":"ros-jazzy-moveit-planners-ompl","requires":[],"size":521308,"version":"2.12.1","binstar":{"package_id":"6777e0771f1fd598f85294da","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4814201ae8ce31311749c7184f305714ed7cb2e90f42b2f97fd469f5aa601097"},"ros-jazzy-moveit-ros-robot-interaction-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-interactive-markers","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-ros-planning","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123487746,"md5":"dbd122a49cd46f46e4edd7e0b6cc18bf","name":"ros-jazzy-moveit-ros-robot-interaction","requires":[],"size":266959,"version":"2.12.1","binstar":{"package_id":"6777e07bdeec2af1875294d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"533acc0b1979411ea41c70ccee800e1e63d5612434ebc1e23bba0d09347a458c"},"ros-jazzy-moveit-ros-warehouse-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["fmt","python","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-ros-planning","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros-jazzy-warehouse-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","fmt >=11.0.2,<12.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123505377,"md5":"28d25fc4e3e0099ff9eb390c1f533625","name":"ros-jazzy-moveit-ros-warehouse","requires":[],"size":728038,"version":"2.12.1","binstar":{"package_id":"6777e07e8ed9e7804dc4c0fb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9ed7ca1a8fa45cc72b64c5c44463488e7d10e4c45829239f890297eff291b516"},"ros-jazzy-rqt-common-plugins-1.2.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rqt-action","ros-jazzy-rqt-bag","ros-jazzy-rqt-bag-plugins","ros-jazzy-rqt-console","ros-jazzy-rqt-graph","ros-jazzy-rqt-image-view","ros-jazzy-rqt-msg","ros-jazzy-rqt-plot","ros-jazzy-rqt-publisher","ros-jazzy-rqt-py-common","ros-jazzy-rqt-py-console","ros-jazzy-rqt-reconfigure","ros-jazzy-rqt-service-caller","ros-jazzy-rqt-shell","ros-jazzy-rqt-srv","ros-jazzy-rqt-topic","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123483503,"md5":"d7a2ff3f9efd9067fd5bb6da759b2ae4","name":"ros-jazzy-rqt-common-plugins","requires":[],"size":21349,"version":"1.2.0","binstar":{"package_id":"6777e080b2c82143dcc4c0f4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1f11b7b581fbf78f67a7d0059167f91d67fcf7d92d3770c3f3d637044295ae17"},"ros-jazzy-desktop-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-action-tutorials-cpp","ros-jazzy-action-tutorials-interfaces","ros-jazzy-action-tutorials-py","ros-jazzy-angles","ros-jazzy-composition","ros-jazzy-demo-nodes-cpp","ros-jazzy-demo-nodes-cpp-native","ros-jazzy-demo-nodes-py","ros-jazzy-depthimage-to-laserscan","ros-jazzy-dummy-map-server","ros-jazzy-dummy-robot-bringup","ros-jazzy-dummy-sensors","ros-jazzy-examples-rclcpp-minimal-action-client","ros-jazzy-examples-rclcpp-minimal-action-server","ros-jazzy-examples-rclcpp-minimal-client","ros-jazzy-examples-rclcpp-minimal-composition","ros-jazzy-examples-rclcpp-minimal-publisher","ros-jazzy-examples-rclcpp-minimal-service","ros-jazzy-examples-rclcpp-minimal-subscriber","ros-jazzy-examples-rclcpp-minimal-timer","ros-jazzy-examples-rclcpp-multithreaded-executor","ros-jazzy-examples-rclpy-executors","ros-jazzy-examples-rclpy-minimal-action-client","ros-jazzy-examples-rclpy-minimal-action-server","ros-jazzy-examples-rclpy-minimal-client","ros-jazzy-examples-rclpy-minimal-publisher","ros-jazzy-examples-rclpy-minimal-service","ros-jazzy-examples-rclpy-minimal-subscriber","ros-jazzy-image-tools","ros-jazzy-intra-process-demo","ros-jazzy-joy","ros-jazzy-lifecycle","ros-jazzy-logging-demo","ros-jazzy-pcl-conversions","ros-jazzy-pendulum-control","ros-jazzy-pendulum-msgs","ros-jazzy-quality-of-service-demo-cpp","ros-jazzy-quality-of-service-demo-py","ros-jazzy-ros-base","ros-jazzy-ros-workspace","ros-jazzy-rqt-common-plugins","ros-jazzy-rviz-default-plugins","ros-jazzy-rviz2","ros-jazzy-teleop-twist-joy","ros-jazzy-teleop-twist-keyboard","ros-jazzy-tlsf","ros-jazzy-tlsf-cpp","ros-jazzy-topic-monitor","ros-jazzy-turtlesim","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123818330,"md5":"9ba44b3564ed8126ab05f087bfb56ec3","name":"ros-jazzy-desktop","requires":[],"size":21938,"version":"0.11.0","binstar":{"package_id":"6777e16d21afbb471ba47663","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"461e237d11bf361fcf77dce363a164e505771f5fc2eb2b1d563a728b6bfafcd7"},"ros-jazzy-moveit-ros-benchmarks-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["libboost","python","ros-jazzy-launch-param-builder","ros-jazzy-moveit-common","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-warehouse","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2-eigen","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123823075,"md5":"b705b8b027394a3c890f51a361ab8cef","name":"ros-jazzy-moveit-ros-benchmarks","requires":[],"size":359652,"version":"2.12.1","binstar":{"package_id":"6777e16fb734ab2338a47673","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"32b323e5f5e84b3608e26be009dc5d4ff49c1269b3a42c3c72181f51d5465285"},"ros-jazzy-moveit-ros-move-group-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["fmt","python","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-kinematics","ros-jazzy-moveit-ros-occupancy-map-monitor","ros-jazzy-moveit-ros-planning","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","fmt >=11.0.2,<12.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736123817414,"md5":"37beed9fff3f409b23158463a3b8c968","name":"ros-jazzy-moveit-ros-move-group","requires":[],"size":624753,"version":"2.12.1","binstar":{"package_id":"6777e1703788bac9f3c4c110","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f084e6fb2041e92cc8dcf1c4c8ab1675864aa7abba497f1b462987539cafad77"},"ros-jazzy-desktop-full-0.11.0-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-desktop","ros-jazzy-perception","ros-jazzy-ros-gz-sim-demos","ros-jazzy-ros-workspace","ros-jazzy-simulation","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736124128396,"md5":"577ca65046338aff52572f25a9003e5a","name":"ros-jazzy-desktop-full","requires":[],"size":20593,"version":"0.11.0","binstar":{"package_id":"6777e2134cca628f07a47679","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eb63a628b1aec69038b485778ed565be2dd96f88311b8c01d3ff536966688fe0"},"ros-jazzy-moveit-resources-prbt-moveit-config-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-joint-state-publisher","ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin","ros-jazzy-moveit-resources-prbt-support","ros-jazzy-moveit-ros-move-group","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-rviz2","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736124129579,"md5":"9a85d2a813a0d61c87a5adad00593655","name":"ros-jazzy-moveit-resources-prbt-moveit-config","requires":[],"size":32164,"version":"2.12.1","binstar":{"package_id":"6777e21476332b66b0a47661","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"12584cfb2b301df181d17b522e8c8bbb8abec2242b2145e86fe8a8ed514d175f"},"ros-jazzy-moveit-ros-planning-interface-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-move-group","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-warehouse","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736124128002,"md5":"77c3bbb17f47f794cf3e466273dbdd37","name":"ros-jazzy-moveit-ros-planning-interface","requires":[],"size":423861,"version":"2.12.1","binstar":{"package_id":"6777e2154d45c7eb08e2b45e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"38bd389eb2ce64ce8358bc608a181cf33c2c0528ff1ad0af88957f19316845be"},"ros-jazzy-moveit-resources-prbt-pg70-support-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin","ros-jazzy-moveit-resources-prbt-moveit-config","ros-jazzy-moveit-resources-prbt-support","ros-jazzy-ros-workspace","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736124450023,"md5":"f06eaf86ef6d8edf6840ccdbd92c6203","name":"ros-jazzy-moveit-resources-prbt-pg70-support","requires":[],"size":203575,"version":"2.12.1","binstar":{"package_id":"6777e34ea410428903a4767c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"de7a501c2f06397e84f889cbfce3777ba8815dd9acfacae26df5c3a6e8b364c3"},"ros-jazzy-moveit-ros-visualization-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-geometric-shapes","ros-jazzy-interactive-markers","ros-jazzy-moveit-common","ros-jazzy-moveit-ros-planning-interface","ros-jazzy-moveit-ros-robot-interaction","ros-jazzy-moveit-ros-warehouse","ros-jazzy-object-recognition-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rviz2","ros-jazzy-tf2-eigen","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","qt-main >=5.15.15,<5.16.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736124450996,"md5":"445ad26b224addc8f9881ff26be64133","name":"ros-jazzy-moveit-ros-visualization","requires":[],"size":999023,"version":"2.12.1","binstar":{"package_id":"6777e34fa410428903a4767e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"020c3571466d7bccdafe573eee2e15ec4530ff7df0d4e585f0a63a721b73b8a0"},"ros-jazzy-moveit-ros-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-ros-benchmarks","ros-jazzy-moveit-ros-move-group","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-planning-interface","ros-jazzy-moveit-ros-robot-interaction","ros-jazzy-moveit-ros-visualization","ros-jazzy-moveit-ros-warehouse","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125136385,"md5":"9b8c1f2030cb9eb400a86fa5ecaffdf0","name":"ros-jazzy-moveit-ros","requires":[],"size":20909,"version":"2.12.1","binstar":{"package_id":"6777e4e176332b66b0a47666","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"196ab5d5df2eea6449318142e05de5e2cd0a73b1e70fac9d059830ab19a76c40"},"ros-jazzy-moveit-setup-framework-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["fmt","python","ros-jazzy-ament-index-cpp","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-visualization","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-rendering","ros-jazzy-srdfdom","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","ros2-distro-mutex >=0.6.0,<0.7.0a0","fmt >=11.0.2,<12.0a0","libgl >=1.7.0,<2.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125138423,"md5":"a259dfdb5d0ede7a16ff698b75ed3b70","name":"ros-jazzy-moveit-setup-framework","requires":[],"size":344172,"version":"2.12.1","binstar":{"package_id":"6777e4e2d591a39b33e2b460","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2c7f234a3ae535c0eeb037d54a3386a13862eca7980312b8d052838ccd5ef2a0"},"ros-jazzy-pilz-industrial-motion-planner-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-eigen3-cmake-module","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-move-group","ros-jazzy-moveit-ros-planning","ros-jazzy-orocos-kdl-vendor","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-eigen-kdl","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=14","libgcc >=14","libboost >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost-python >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125126675,"md5":"65f0b52cc812dd9e18eaf9529b630107","name":"ros-jazzy-pilz-industrial-motion-planner","requires":[],"size":553783,"version":"2.12.1","binstar":{"package_id":"6777e4e71624366d48a4766f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"25697e0619d3c2f92c2583773a081fefa89289bd0d89746cce880914d292d758"},"ros-jazzy-moveit-planners-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-chomp-motion-planner","ros-jazzy-moveit-planners-ompl","ros-jazzy-moveit-planners-stomp","ros-jazzy-pilz-industrial-motion-planner","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125427894,"md5":"a451d5155eb904c73866679694e42c99","name":"ros-jazzy-moveit-planners","requires":[],"size":20797,"version":"2.12.1","binstar":{"package_id":"6777e6916be72844a31b138d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"41cd1f01f6d42e14180f8d33073d8decdf740516d60398efb9cf3a2b9a8eeff6"},"ros-jazzy-moveit-setup-app-plugins-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-ros-visualization","ros-jazzy-moveit-setup-framework","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125426775,"md5":"92d4fefe2c9dddefaa59729c9313b509","name":"ros-jazzy-moveit-setup-app-plugins","requires":[],"size":171230,"version":"2.12.1","binstar":{"package_id":"6777e692bdaeb471dc4c3c28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c132f53b322f0fa0a3bc5f73b90a05d4c018e7f8f7db128cf98884a4a7534ad3"},"ros-jazzy-moveit-setup-controllers-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-moveit-setup-framework","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125425643,"md5":"bd7fa63633a25b323c0bbc1b49d84927","name":"ros-jazzy-moveit-setup-controllers","requires":[],"size":321401,"version":"2.12.1","binstar":{"package_id":"6777e693ba3f27ef559db57a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"732ef6984c5fcc799c1df7dccb15fa18fa1e9299c476c591f27fcea503114e0b"},"ros-jazzy-moveit-setup-core-plugins-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-moveit-ros-visualization","ros-jazzy-moveit-setup-framework","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-srdfdom","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopengl >=1.7.0,<2.0a0","libgl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125433010,"md5":"b453ec65e134e1ee8954c6419fd4f6ef","name":"ros-jazzy-moveit-setup-core-plugins","requires":[],"size":145232,"version":"2.12.1","binstar":{"package_id":"6777e6954d45c7eb08e2b46f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"49455c3b4a25d474fa1149b5974b1f04a2190b30681cbd1d83917226c1ba2a33"},"ros-jazzy-moveit-setup-srdf-plugins-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-setup-framework","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=14","libgcc >=14","libopengl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125434382,"md5":"bb117b311c9ae8eecc18b2f96feff0d5","name":"ros-jazzy-moveit-setup-srdf-plugins","requires":[],"size":495161,"version":"2.12.1","binstar":{"package_id":"6777e696318b948ab4e2b461","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"67c44a0a2700cc58deabb3bc30d90ea6cd068cf8d9b13e05ab8005dfc3d1cedf"},"ros-jazzy-moveit-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","ros-jazzy-moveit-core","ros-jazzy-moveit-planners","ros-jazzy-moveit-plugins","ros-jazzy-moveit-ros","ros-jazzy-moveit-setup-assistant","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736126144060,"md5":"838e925cfc2c59a4e01ba4f55e5c76e4","name":"ros-jazzy-moveit","requires":[],"size":22349,"version":"2.12.1","binstar":{"package_id":"6777e70d7ca11eb50f4c3c29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eb7b73582d7b08b445e999e1bb2013433254884265c47ab7c6fa1118e219e070"},"ros-jazzy-moveit-setup-assistant-2.12.1-np126py311h53f67fe_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h53f67fe_1","build_number":1,"depends":["python","qt-main","ros-jazzy-ament-index-cpp","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-setup-app-plugins","ros-jazzy-moveit-setup-controllers","ros-jazzy-moveit-setup-core-plugins","ros-jazzy-moveit-setup-framework","ros-jazzy-moveit-setup-srdf-plugins","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libopengl >=1.7.0,<2.0a0","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736125828585,"md5":"4879ab9f75b01a510f37e18cadb1ead9","name":"ros-jazzy-moveit-setup-assistant","requires":[],"size":432383,"version":"2.12.1","binstar":{"package_id":"6777e70f3c23b9b6784c3c28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f4ab7d8480e21972a9c4cc419fbb1d8e9ac14d67f5ff3d9d8e806e50515e97f4"},"ros-jazzy-plotjuggler-3.9.2-np126py311hae6ce0c_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hae6ce0c_1","build_number":1,"depends":["binutils","cppzmq","libboost-devel","libboost-python-devel","libprotobuf","lz4","protobuf","python","qt-main","ros-jazzy-ament-index-cpp","ros-jazzy-fastcdr","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zeromq","zstd","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","libprotobuf >=5.28.2,<5.28.3.0a0","xorg-libx11 >=1.8.10,<2.0a0","libboost >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","zstd >=1.5.6,<1.6.0a0","libgl >=1.7.0,<2.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","qt-main >=5.15.15,<5.16.0a0","zeromq >=4.3.5,<4.4.0a0","libboost-python >=1.86.0,<1.87.0a0","elfutils >=0.192,<0.193.0a0","libxcb >=1.17.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736485612161,"md5":"7e05e0bef03c55686d65dedba6c89f78","name":"ros-jazzy-plotjuggler","requires":[],"size":11606073,"version":"3.9.2","binstar":{"package_id":"6777f023aec0f2e2504c3c31","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"550256c3509904b5b29fcb3eb437de84f81ae68941cc656393712bac5d7b5b6d"},"ros-jazzy-plotjuggler-ros-2.1.2-np126py311h65a17ee_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h65a17ee_1","build_number":1,"depends":["binutils","libboost-devel","libboost-python-devel","python","qt-main","ros-jazzy-plotjuggler","ros-jazzy-rclcpp","ros-jazzy-rcpputils","ros-jazzy-ros-environment","ros-jazzy-ros-workspace","ros-jazzy-rosbag2","ros-jazzy-rosbag2-transport","ros-jazzy-tf2-msgs","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=14","libstdcxx >=14","libgcc >=14","qt-main >=5.15.15,<5.16.0a0","libboost-python >=1.86.0,<1.87.0a0","libboost >=1.86.0,<1.87.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgl >=1.7.0,<2.0a0","libopengl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1736485859384,"md5":"288f9fce17115f242886228ef20c1b42","name":"ros-jazzy-plotjuggler-ros","requires":[],"size":7053863,"version":"2.1.2","binstar":{"package_id":"6777fe7d67fad119a1db6bec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e1e4cd33c628d2c0951c1d89faae9c37fce470fa27a8ef24a33f20a481d2e285"},"ros-jazzy-python-orocos-kdl-vendor-0.5.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","python-orocos-kdl","ros-jazzy-orocos-kdl-vendor","ros-jazzy-pybind11-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python-orocos-kdl >=1.5.1,<1.6.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1737495955225,"md5":"4717e844647fa6f9add5924c21a42c39","name":"ros-jazzy-python-orocos-kdl-vendor","requires":[],"size":26022,"version":"0.5.1","binstar":{"package_id":"6790161a0909cdba7040ca27","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4d11253c8fd7507c8d9e2123c909cfc84bba0a8684c70714a60cacaddb52457a"},"ros-jazzy-joint-trajectory-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-rsl","ros-jazzy-tl-expected","ros-jazzy-trajectory-msgs","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442309391,"md5":"e83f8f047996b1f59105ee30465350b7","name":"ros-jazzy-joint-trajectory-controller","requires":[],"size":368774,"version":"4.18.0","binstar":{"package_id":"679e8640fbb5d73a1d9af3e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"10e453d78540b3b11009d5b9d2b646a03e500cb6812214238fb816ab23b85ab7"},"ros-jazzy-force-torque-sensor-broadcaster-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442345268,"md5":"36c0318958468c6d951b5daac191931d","name":"ros-jazzy-force-torque-sensor-broadcaster","requires":[],"size":154952,"version":"4.18.0","binstar":{"package_id":"679e86417248eeb802bf8e50","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c2130818dcbee889cc30fd2be89618abb5be4aced3a7082af7bad08f1cfe8048"},"ros-jazzy-kinematics-interface-1.2.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["eigen","python","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442263285,"md5":"27fbc65fb13eee364e25bb839ad7843f","name":"ros-jazzy-kinematics-interface","requires":[],"size":45859,"version":"1.2.1","binstar":{"package_id":"679e8644e16554282fd30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f19dae8a1c409701c82de59b97f3ce5a27dcab9cf3e0a1b54947f8417e282d8"},"ros-jazzy-gpio-controllers-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442326911,"md5":"20230cc31e0caa2bc39513bd5c0b5ff4","name":"ros-jazzy-gpio-controllers","requires":[],"size":237810,"version":"4.18.0","binstar":{"package_id":"679e8645a700e157fef64af7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ddebca88130e4e9a2dd899b0c2922ecb5dc06a0778b0afb409a167eaed3fdbb2"},"ros-jazzy-imu-sensor-broadcaster-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442313554,"md5":"07c5a4ead88fd5b8cb9b235aba720485","name":"ros-jazzy-imu-sensor-broadcaster","requires":[],"size":146560,"version":"4.18.0","binstar":{"package_id":"679e86462e2e34fd25bb4cbe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4bcce4bd27e9b4b731fbfe7017367b024ba65aff03884327c976465948b64f4a"},"ros-jazzy-parallel-gripper-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442351229,"md5":"bc0eaf7b37891f7a7df45560849ceeb0","name":"ros-jazzy-parallel-gripper-controller","requires":[],"size":146679,"version":"4.18.0","binstar":{"package_id":"679e8646570de9cbb7c3b7e3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6395696ee8338ded291f2106d912d8e2a8e7a23c73ba76eec7f2f2834367c54d"},"ros-jazzy-joint-state-broadcaster-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-builtin-interfaces","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-pluginlib","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcutils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-urdf","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442299534,"md5":"617733e9bb6381204ea09046d656203f","name":"ros-jazzy-joint-state-broadcaster","requires":[],"size":172620,"version":"4.18.0","binstar":{"package_id":"679e86472b3807adc0b281ac","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6f36bd80027f58f9664768bf8f8c2e7ad109b2f6a2c6f0ef5c7ea18c3c57110e"},"ros-jazzy-graph-msgs-0.2.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442358961,"md5":"c8605dc5711296c8e7555e3b545f53f8","name":"ros-jazzy-graph-msgs","requires":[],"size":107442,"version":"0.2.0","binstar":{"package_id":"679e86476403c82b91d30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"22a2862e7e08e7d2b120ecaae1ae958c4fe409318ead145f0f893f245e827e0c"},"ros-jazzy-pid-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-angles","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-hardware-interface","ros-jazzy-parameter-traits","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442328064,"md5":"cfd45daea1ff2123a7c295fbd81b663a","name":"ros-jazzy-pid-controller","requires":[],"size":270097,"version":"4.18.0","binstar":{"package_id":"679e8648204da077a1f64af7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8553b00d13f235b133b7626a6975b853cc0ff024d2d6355525e14956a76b78c1"},"ros-jazzy-mecanum-drive-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442253288,"md5":"f261dee6e8db1b5683c9f2c5017bbeb5","name":"ros-jazzy-mecanum-drive-controller","requires":[],"size":275866,"version":"4.18.0","binstar":{"package_id":"679e864890552b73725045ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ff7dfc709f7d40f5cc2bd6dc4ca2bad71712fe4f02177e9f886b730ada45b228"},"ros-jazzy-ros2controlcli-4.23.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["pygraphviz","python","ros-jazzy-controller-manager","ros-jazzy-controller-manager-msgs","ros-jazzy-rcl-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2node","ros-jazzy-ros2param","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442278042,"md5":"404436a65b6f83045e66214e89b85fed","name":"ros-jazzy-ros2controlcli","requires":[],"size":72352,"version":"4.23.0","binstar":{"package_id":"679e8648dbc031097d59e9e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"002cdfc006bde9f99aece292fb53e69cda4b84047f5118ad7123c9998c31237f"},"ros-jazzy-steering-controllers-library-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ackermann-msgs","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442279287,"md5":"57b36c6ab5206b3fb37e5a232f72943a","name":"ros-jazzy-steering-controllers-library","requires":[],"size":275899,"version":"4.18.0","binstar":{"package_id":"679e8649694331555bbb4cbd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"db2b943938b55c2b8ce303ce660e035cb2c776db2b5722e443db7d7507474d05"},"ros-jazzy-pose-broadcaster-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442314323,"md5":"b2bd1a20bb52b9454b90bb123282103a","name":"ros-jazzy-pose-broadcaster","requires":[],"size":162815,"version":"4.18.0","binstar":{"package_id":"679e86499d25953dcb3c0672","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c48bf9645a856f81f93366f0ce6515e1b62ac3c0a5297728215ca235286a0e47"},"ros-jazzy-rviz-visual-tools-4.1.4-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["eigen","python","qt-main","ros-jazzy-ament-index-python","ros-jazzy-eigen-stl-containers","ros-jazzy-eigen3-cmake-module","ros-jazzy-geometry-msgs","ros-jazzy-interactive-markers","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-rviz-common","ros-jazzy-rviz-default-plugins","ros-jazzy-rviz-ogre-vendor","ros-jazzy-rviz-rendering","ros-jazzy-rviz2","ros-jazzy-sensor-msgs","ros-jazzy-shape-msgs","ros-jazzy-std-msgs","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-trajectory-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442312557,"md5":"cfbc0c83a3afc08d9b726e2699d4226e","name":"ros-jazzy-rviz-visual-tools","requires":[],"size":454890,"version":"4.1.4","binstar":{"package_id":"679e8649c622dee0b6b5cb31","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc7993c32ff57e4c9edbdc0e611d1dc522188f26d08054c874109ac51a5feae3"},"ros-jazzy-velocity-controllers-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-forward-command-controller","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442339457,"md5":"35a3627f6cf1830c283a60da80d20c1c","name":"ros-jazzy-velocity-controllers","requires":[],"size":72445,"version":"4.18.0","binstar":{"package_id":"679e864b561e6fc338c7d31c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2d023db0bb94f7c9f006ac2b732785a3d7381f05788af163fa8e92c0d6d0e050"},"ros-jazzy-range-sensor-broadcaster-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442302466,"md5":"48e13492ea719b15930027d257a9d895","name":"ros-jazzy-range-sensor-broadcaster","requires":[],"size":141551,"version":"4.18.0","binstar":{"package_id":"679e864bc87fe5017cc3b7e6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b2bb4f8e70386208879b261cc2ee41309a740b51fcd009a2f0aab20ad454528"},"ros-jazzy-transmission-interface-4.23.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442254284,"md5":"fe9fc14e7f1bdff7218c8f7f8109f76c","name":"ros-jazzy-transmission-interface","requires":[],"size":106481,"version":"4.23.0","binstar":{"package_id":"679e864be16554282fd30e45","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"91c4fdc6dc0f8640ca71a3aa936f19fcd98a10bcb5fdc51c85a5fd8985c428bb"},"ros-jazzy-tricycle-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ackermann-msgs","ros-jazzy-backward-ros","ros-jazzy-builtin-interfaces","ros-jazzy-controller-interface","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-tf2","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442255194,"md5":"2aa357fbf43177c9eb0aab82530c9527","name":"ros-jazzy-tricycle-controller","requires":[],"size":298619,"version":"4.18.0","binstar":{"package_id":"679e864c081e7d3816bf8e50","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"624ab799bb374d5af863f07999468ea378049d4b03e20e95b633ab1a5af2607e"},"ros-jazzy-zenoh-cpp-vendor-0.2.0-np126py311h7e591ae_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h7e591ae_1","build_number":1,"constrains":["__glibc >=2.17"],"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","libzenohc >=1.1.1,<1.1.2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442285095,"md5":"1cda6c328e57a9bc25d2347714898ca6","name":"ros-jazzy-zenoh-cpp-vendor","requires":[],"size":24181,"version":"0.2.0","binstar":{"package_id":"679e864dc8e25970753c0673","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c9931bc8144050b11440c9e1e91eeed5db36a6d3e727815205fe4c84ef44d031"},"ros-jazzy-diff-drive-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-nav-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcpputils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442276162,"md5":"18afcef6b1da09975f53b9c1493b2f2d","name":"ros-jazzy-diff-drive-controller","requires":[],"size":294007,"version":"4.18.0","binstar":{"package_id":"679e865bf39e935e935045ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b5f4cfa20e8f10d8d2304651de5b6930cb9a1039f845daba695ccffa8b41b9a7"},"ros-jazzy-effort-controllers-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-forward-command-controller","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442253037,"md5":"ed9baff3a7eab282db4866bdbaa4717b","name":"ros-jazzy-effort-controllers","requires":[],"size":72329,"version":"4.18.0","binstar":{"package_id":"679e865c150b53ba29bb4cbd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb9784360feb0234c87b10525e0c64f854693fc7aac5879a3e87d6ebe55a38db"},"ros-jazzy-gz-ros2-control-1.2.9-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-controller-manager","ros-jazzy-gz-plugin-vendor","ros-jazzy-gz-sim-vendor","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","libgl >=1.7.0,<2.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442255569,"md5":"15bf823b75ce34d611deaf1323c1d1fc","name":"ros-jazzy-gz-ros2-control","requires":[],"size":358690,"version":"1.2.9","binstar":{"package_id":"679e865e081e7d3816bf8e52","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"87bbb3221b19ec2910a0f9bf9aa8044a4b35199d5aad896ee399ebc79bfa3288"},"ros-jazzy-twist-mux-msgs-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442310852,"md5":"aa0bf40613fc0e7448040f82c9ddc73a","name":"ros-jazzy-twist-mux-msgs","requires":[],"size":259368,"version":"3.0.1","binstar":{"package_id":"679e865e617f3d26a89af3e9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b679ca446aee6a35a14214d14cf2fcb6868eaace5eb537e3e3e801c93d49f79a"},"ros-jazzy-ur-dashboard-msgs-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442342028,"md5":"2b314dfab85f90e9a99898b1130213e7","name":"ros-jazzy-ur-dashboard-msgs","requires":[],"size":544507,"version":"3.0.1","binstar":{"package_id":"679e865fa0bb128bc3d30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a6eeb6e08a4b56747f4f26e2c85ad9491bd96bb5e1610cc1b41fda2bfea70dd1"},"ros-jazzy-ros2-controllers-test-nodes-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442346314,"md5":"0a31fc3896169f1eb6c096888239648a","name":"ros-jazzy-ros2-controllers-test-nodes","requires":[],"size":40127,"version":"4.18.0","binstar":{"package_id":"679e86604b598d6cacb5cb30","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d85464d1d91839841c591ee21b2c6f01b3f663e8bf21f7b4d9255e7a427c9231"},"ros-jazzy-ur-msgs-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442321771,"md5":"df4c3335e74a74e2b989746e02b02b2b","name":"ros-jazzy-ur-msgs","requires":[],"size":437574,"version":"2.1.0","binstar":{"package_id":"679e8661a77656a4ee9af3e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d6a3828d092936584916547ab72cfc423ee147ac6ee2a519ab7c9bc1625cde09"},"ros-jazzy-ur-client-library-1.5.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442352250,"md5":"b30ae82d11329d559c9fcaf348141cda","name":"ros-jazzy-ur-client-library","requires":[],"size":308402,"version":"1.5.0","binstar":{"package_id":"679e8662694331555bbb4cbf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7055b94cc2a2c731c95096b78879889db298e41500f9019dd2e3cbe8e33334a7"},"ros-jazzy-ur-description-3.0.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-joint-state-publisher-gui","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-rviz2","ros-jazzy-urdf","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","urdfdom >=4.0.1,<4.1.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442334421,"md5":"ce308e65144b89b46a0a1afc80bfdaba","name":"ros-jazzy-ur-description","requires":[],"size":23753153,"version":"3.0.0","binstar":{"package_id":"679e8665020e97e09bb281af","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"34a804b13d4b8fa0c64ffdf6fa83b5a10e409aad5e41237b47ceace861e0fc6e"},"ros-jazzy-warehouse-ros-sqlite-1.0.5-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-class-loader","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sqlite3-vendor","ros-jazzy-warehouse-ros","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","libboost-python >=1.86.0,<1.87.0a0","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442365896,"md5":"59c91acf4a97089f95a35b7e5f022d27","name":"ros-jazzy-warehouse-ros-sqlite","requires":[],"size":132320,"version":"1.0.5","binstar":{"package_id":"679e866ada5b6d3e82b281ae","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ac6bfe7e1b112d3b3f324c0cb669b45f4f7e99093fc4bc9c3af54f7b8f9f071c"},"ros-jazzy-ackermann-steering-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-steering-controllers-library","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442458135,"md5":"6348eb5d41bad5f14ac3e56bdd3b10ae","name":"ros-jazzy-ackermann-steering-controller","requires":[],"size":94007,"version":"4.18.0","binstar":{"package_id":"679e86db6403c82b91d30e47","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"495b11ce271a4f7267a65e4f54fffaa7bc443c5e40b28676758b40e56b3a81a3"},"ros-jazzy-bicycle-steering-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-steering-controllers-library","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442446519,"md5":"21f4d4adcf3561d8f863169b4d0f2665","name":"ros-jazzy-bicycle-steering-controller","requires":[],"size":92242,"version":"4.18.0","binstar":{"package_id":"679e86dd7ef270a862926cfd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ee5380269178397b49d46f4e16feb3c90bff48a2158738ded29273f1e5aa5e40"},"ros-jazzy-kinematics-interface-kdl-1.2.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["eigen","python","ros-jazzy-kdl-parser","ros-jazzy-kinematics-interface","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros-jazzy-tf2-eigen-kdl","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442404905,"md5":"28181595c6d379eccba392af4020c3eb","name":"ros-jazzy-kinematics-interface-kdl","requires":[],"size":93674,"version":"1.2.1","binstar":{"package_id":"679e86de64ec069b58f64afa","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f0f7e6ba7cdc0801fc7a6719d23f60b978ab0eadf21ab89f608941c501b1e015"},"ros-jazzy-tricycle-steering-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-std-srvs","ros-jazzy-steering-controllers-library","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442425297,"md5":"e4a1d9fb73e03fa06034fad3cea27e68","name":"ros-jazzy-tricycle-steering-controller","requires":[],"size":92751,"version":"4.18.0","binstar":{"package_id":"679e86e4081e7d3816bf8e57","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2ab265c6acd9746db62d28be1e821432d0a643ee5f67e698a6494cbc85755de7"},"ros-jazzy-twist-mux-4.4.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-diagnostic-updater","ros-jazzy-geometry-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-twist-mux-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442468393,"md5":"e6f4e959f19da63ada1b9dccb0be039e","name":"ros-jazzy-twist-mux","requires":[],"size":381277,"version":"4.4.0","binstar":{"package_id":"679e86e6e5298cd157b281ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"09a017b14fcb6b6238ba4c63f71af89679fcf5374c53ffc5acd7d3c8270dfc94"},"ros-jazzy-moveit-servo-2.12.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-controller-manager","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-gripper-controllers","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-trajectory-controller","ros-jazzy-joy","ros-jazzy-launch-param-builder","ros-jazzy-moveit-common","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-planning-interface","ros-jazzy-moveit-ros-visualization","ros-jazzy-pluginlib","ros-jazzy-realtime-tools","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442447538,"md5":"9c37aad22394195e1d13b1826de3c5cc","name":"ros-jazzy-moveit-servo","requires":[],"size":868969,"version":"2.12.1","binstar":{"package_id":"679e8756126bc9de4ad30e48","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0a234c8e496f0b51963ecfea7180766af5811762c4b0f7b7eb11a33a358ac5a0"},"ros-jazzy-moveit-servo-2.12.1-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-controller-manager","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-gripper-controllers","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-trajectory-controller","ros-jazzy-joy","ros-jazzy-launch-param-builder","ros-jazzy-moveit-common","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-core","ros-jazzy-moveit-msgs","ros-jazzy-moveit-ros-planning","ros-jazzy-moveit-ros-planning-interface","ros-jazzy-moveit-ros-visualization","ros-jazzy-pluginlib","ros-jazzy-realtime-tools","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738785642976,"md5":"8242bf65c9c996c1c89f533e2f15b13c","name":"ros-jazzy-moveit-servo","requires":[],"size":872645,"version":"2.12.1","binstar":{"package_id":"679e8756126bc9de4ad30e48","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2aad49a943354004c213156a1bead7959879abde551b8d9528fb15589b19a12b"},"ros-jazzy-moveit-visual-tools-4.1.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-graph-msgs","ros-jazzy-moveit-common","ros-jazzy-moveit-core","ros-jazzy-moveit-ros-planning","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-rviz-visual-tools","ros-jazzy-std-msgs","ros-jazzy-tf2-eigen","ros-jazzy-tf2-ros","ros-jazzy-trajectory-msgs","ros-jazzy-visualization-msgs","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=13","libgcc >=13","libopengl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442549303,"md5":"bc308c561788dfcf3fc5163ccbad8b00","name":"ros-jazzy-moveit-visual-tools","requires":[],"size":428599,"version":"4.1.1","binstar":{"package_id":"679e87586403c82b91d30e4a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ee4c5adc50556a1a5059b4b9e5da02409e81f43d98325c350fb96059883710fb"},"ros-jazzy-rmw-zenoh-cpp-0.2.0-np126py311h7e591ae_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311h7e591ae_1","build_number":1,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-fastcdr","ros-jazzy-rcpputils","ros-jazzy-rcutils","ros-jazzy-rmw","ros-jazzy-ros-workspace","ros-jazzy-rosidl-typesupport-fastrtps-c","ros-jazzy-rosidl-typesupport-fastrtps-cpp","ros-jazzy-zenoh-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","libzenohc >=1.1.1,<1.1.2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442533350,"md5":"88e7eae24361c8efeb97503ad5e5309c","name":"ros-jazzy-rmw-zenoh-cpp","requires":[],"size":272373,"version":"0.2.0","binstar":{"package_id":"679e87597248eeb802bf8e55","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"977693539a14c2b30753eaf7c6826a236cb1cb99fb8c66e3c0720c5543fd90b3"},"ros-jazzy-ros2-control-4.23.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-controller-interface","ros-jazzy-controller-manager","ros-jazzy-controller-manager-msgs","ros-jazzy-hardware-interface","ros-jazzy-joint-limits","ros-jazzy-ros-workspace","ros-jazzy-ros2-control-test-assets","ros-jazzy-ros2controlcli","ros-jazzy-transmission-interface","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442528538,"md5":"a5bb6e836554c4f3c6e0cf5c4d0e61ba","name":"ros-jazzy-ros2-control","requires":[],"size":20892,"version":"4.23.0","binstar":{"package_id":"679e875a64ec069b58f64b00","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"897d8f106c33b5f58e7f55988734ac9a3e579d691eba5396d12d2b2ac57e5560"},"ros-jazzy-ur-controllers-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-angles","ros-jazzy-control-msgs","ros-jazzy-controller-interface","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-joint-trajectory-controller","ros-jazzy-lifecycle-msgs","ros-jazzy-pluginlib","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rcutils","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-ros","ros-jazzy-trajectory-msgs","ros-jazzy-ur-dashboard-msgs","ros-jazzy-ur-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442403139,"md5":"fb4aa9101085f3d2fe40af7cd09fc2ca","name":"ros-jazzy-ur-controllers","requires":[],"size":532010,"version":"3.0.1","binstar":{"package_id":"679e875b9d25953dcb3c0676","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"359d0fbf918740167dfac862a1813e895c6cb36516662af8a426851401fc367d"},"ros-jazzy-admittance-controller-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-control-msgs","ros-jazzy-control-toolbox","ros-jazzy-controller-interface","ros-jazzy-filters","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-joint-trajectory-controller","ros-jazzy-kinematics-interface","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-eigen","ros-jazzy-tf2-geometry-msgs","ros-jazzy-tf2-kdl","ros-jazzy-tf2-ros","ros-jazzy-trajectory-msgs","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442600672,"md5":"25941919c26d587b5f4d76a8f6bc23a4","name":"ros-jazzy-admittance-controller","requires":[],"size":398283,"version":"4.18.0","binstar":{"package_id":"679e87daf8f2da91d6c3b7eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4a00f972366ae98882ac282d6a4e86579ef20b8751b703f1a4e0d4b9a4ce13b4"},"ros-jazzy-gz-ros2-control-demos-1.2.9-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ackermann-steering-controller","ros-jazzy-ament-index-python","ros-jazzy-control-msgs","ros-jazzy-diff-drive-controller","ros-jazzy-effort-controllers","ros-jazzy-geometry-msgs","ros-jazzy-gz-ros2-control","ros-jazzy-hardware-interface","ros-jazzy-imu-sensor-broadcaster","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-trajectory-controller","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-mecanum-drive-controller","ros-jazzy-rclcpp","ros-jazzy-robot-state-publisher","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-gz-sim","ros-jazzy-ros-workspace","ros-jazzy-ros2controlcli","ros-jazzy-ros2launch","ros-jazzy-std-msgs","ros-jazzy-tricycle-controller","ros-jazzy-velocity-controllers","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxext","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","libgl >=1.7.0,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","libopengl >=1.7.0,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442694710,"md5":"f75d7d086d67e23e52391c0b119388b8","name":"ros-jazzy-gz-ros2-control-demos","requires":[],"size":200893,"version":"1.2.9","binstar":{"package_id":"679e87dcaf3e225f1d5045b0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"682528567b8346283af7edc173066002ab9b001419313737d8615b75402c0554"},"ros-jazzy-ur-moveit-config-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-moveit-configs-utils","ros-jazzy-moveit-kinematics","ros-jazzy-moveit-planners","ros-jazzy-moveit-planners-chomp","ros-jazzy-moveit-ros-move-group","ros-jazzy-moveit-ros-visualization","ros-jazzy-moveit-servo","ros-jazzy-moveit-simple-controller-manager","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ur-description","ros-jazzy-warehouse-ros-sqlite","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442691642,"md5":"86ec311420bb951d3f4bc85a1f8216aa","name":"ros-jazzy-ur-moveit-config","requires":[],"size":46054,"version":"3.0.1","binstar":{"package_id":"679e87dda8a3a7a7a93c0679","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2717242e9d6282efe751c12d7e4df2a74ed9cd782f9a609ea8169de10104f63e"},"ros-jazzy-ur-robot-driver-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-controller-manager","ros-jazzy-controller-manager-msgs","ros-jazzy-force-torque-sensor-broadcaster","ros-jazzy-geometry-msgs","ros-jazzy-hardware-interface","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-state-publisher","ros-jazzy-joint-trajectory-controller","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-pluginlib","ros-jazzy-pose-broadcaster","ros-jazzy-position-controllers","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-rclpy","ros-jazzy-robot-state-publisher","ros-jazzy-ros-workspace","ros-jazzy-ros2-controllers-test-nodes","ros-jazzy-rviz2","ros-jazzy-std-msgs","ros-jazzy-std-srvs","ros-jazzy-tf2-geometry-msgs","ros-jazzy-ur-client-library","ros-jazzy-ur-controllers","ros-jazzy-ur-dashboard-msgs","ros-jazzy-ur-description","ros-jazzy-ur-msgs","ros-jazzy-urdf","ros-jazzy-velocity-controllers","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","socat","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442656323,"md5":"c47d36e830b4cd799efc312dfa4b6517","name":"ros-jazzy-ur-robot-driver","requires":[],"size":810219,"version":"3.0.1","binstar":{"package_id":"679e87de7ef270a862926d02","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5dce8d5eacc5dc9f60348c40905a6a3c3e34ed9bc6bda90eb6f186ba5ac51378"},"ros-jazzy-ros2-controllers-4.18.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ackermann-steering-controller","ros-jazzy-admittance-controller","ros-jazzy-bicycle-steering-controller","ros-jazzy-diff-drive-controller","ros-jazzy-effort-controllers","ros-jazzy-force-torque-sensor-broadcaster","ros-jazzy-forward-command-controller","ros-jazzy-gpio-controllers","ros-jazzy-gripper-controllers","ros-jazzy-imu-sensor-broadcaster","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-trajectory-controller","ros-jazzy-mecanum-drive-controller","ros-jazzy-parallel-gripper-controller","ros-jazzy-pid-controller","ros-jazzy-pose-broadcaster","ros-jazzy-position-controllers","ros-jazzy-range-sensor-broadcaster","ros-jazzy-ros-workspace","ros-jazzy-steering-controllers-library","ros-jazzy-tricycle-controller","ros-jazzy-tricycle-steering-controller","ros-jazzy-velocity-controllers","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442731292,"md5":"c3017f7cfd41899c475dad11a5a5dcad","name":"ros-jazzy-ros2-controllers","requires":[],"size":21412,"version":"4.18.0","binstar":{"package_id":"679e88317d0a51642e926d12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9788c5a4b60bce3859c5c457f47176600f2d51e21fceb443c14fdf706ab076c8"},"ros-jazzy-ros2-controllers-4.18.0-np126py311hdeb5fcf_3.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_3","build_number":3,"depends":["python","ros-jazzy-ackermann-steering-controller","ros-jazzy-admittance-controller","ros-jazzy-bicycle-steering-controller","ros-jazzy-diff-drive-controller","ros-jazzy-effort-controllers","ros-jazzy-force-torque-sensor-broadcaster","ros-jazzy-forward-command-controller","ros-jazzy-gpio-controllers","ros-jazzy-gripper-controllers","ros-jazzy-imu-sensor-broadcaster","ros-jazzy-joint-state-broadcaster","ros-jazzy-joint-trajectory-controller","ros-jazzy-mecanum-drive-controller","ros-jazzy-parallel-gripper-controller","ros-jazzy-pid-controller","ros-jazzy-pose-broadcaster","ros-jazzy-position-controllers","ros-jazzy-range-sensor-broadcaster","ros-jazzy-ros-workspace","ros-jazzy-steering-controllers-library","ros-jazzy-tricycle-controller","ros-jazzy-tricycle-steering-controller","ros-jazzy-velocity-controllers","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738785627753,"md5":"582ac272195ea25f14a916fa0a11dc2f","name":"ros-jazzy-ros2-controllers","requires":[],"size":21396,"version":"4.18.0","binstar":{"package_id":"679e88317d0a51642e926d12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4c08a7bb3a199cc940ca9670c272a63c83279f4c06a9a611e15fc4f1bf55c66a"},"ros-jazzy-ur-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ur-calibration","ros-jazzy-ur-controllers","ros-jazzy-ur-dashboard-msgs","ros-jazzy-ur-moveit-config","ros-jazzy-ur-robot-driver","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442796980,"md5":"21a46e6b700cdbb994f78e25a84ae995","name":"ros-jazzy-ur","requires":[],"size":24801,"version":"3.0.1","binstar":{"package_id":"679e883364ec069b58f64b05","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"96e055fecdfae7e0b1cb219d69c810981f5082730fe53a0d71ece8628d9de80b"},"ros-jazzy-ur-calibration-3.0.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["eigen","python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-ur-client-library","ros-jazzy-ur-robot-driver","ros2-distro-mutex 0.6.* jazzy_*","yaml-cpp","libstdcxx >=13","libgcc >=13","yaml-cpp >=0.8.0,<0.9.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442745104,"md5":"0f02883a0b779a2d53bf0bc33bf81087","name":"ros-jazzy-ur-calibration","requires":[],"size":109796,"version":"3.0.1","binstar":{"package_id":"679e8835570de9cbb7c3b7e8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"51635ef917103a3a2c8bba9c188966f6cc19e1de2ece27669b5af3938e9540b0"},"ros-jazzy-ur-simulation-gz-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-gz-ros2-control","ros-jazzy-joint-state-publisher","ros-jazzy-launch","ros-jazzy-launch-ros","ros-jazzy-ros-gz-bridge","ros-jazzy-ros-gz-sim","ros-jazzy-ros-workspace","ros-jazzy-rviz2","ros-jazzy-ur-controllers","ros-jazzy-ur-description","ros-jazzy-ur-moveit-config","ros-jazzy-urdf","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","urdfdom >=4.0.1,<4.1.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738442792008,"md5":"aa3394b3256b6609b1a0a262d1eff976","name":"ros-jazzy-ur-simulation-gz","requires":[],"size":44046,"version":"2.1.0","binstar":{"package_id":"679e883664ec069b58f64b07","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e52419c9d695eb63697f61b835884c9b0a53847a27170933122c1d55903cc1ac"},"ros-jazzy-flex-sync-2.0.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-clang-format","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1738610570117,"md5":"fa35970e71096069fcef7f253d2e70f8","name":"ros-jazzy-flex-sync","requires":[],"size":47979,"version":"2.0.0","binstar":{"package_id":"67a117688046e4d238fa8fa5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"27886c423104131d084fb239ccf1f846213f11f9242fb473729c8a9141685b27"},"ros-jazzy-ament-cmake-mypy-0.17.1-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-mypy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348630608,"md5":"478f7c5ec81ccee348e7a0aa3d287902","name":"ros-jazzy-ament-cmake-mypy","requires":[],"size":21736,"version":"0.17.1","binstar":{"package_id":"67ac5a94baf8dda591b187d2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5c9ce5bc4b2d06af46f2d01c8dae483d804de69ee168e4d971d77309013eda21"},"ros-jazzy-rosapi-msgs-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-rcl-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348588321,"md5":"7f5c7d9731bc768fda78822db09157f4","name":"ros-jazzy-rosapi-msgs","requires":[],"size":885416,"version":"2.1.0","binstar":{"package_id":"67ac5a96b7a8a3a4a4aad7f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4dbef8424c46f55f8e61d62a3cb66278bde38917778d194effcff1dae1baf614"},"ros-jazzy-rosbridge-msgs-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348623633,"md5":"944f922a532b615a05e8e6fe46d7c32c","name":"ros-jazzy-rosbridge-msgs","requires":[],"size":93960,"version":"2.1.0","binstar":{"package_id":"67ac5a97d5b3b9ce6cb187d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"34c6900d104169f9f5c246c22b8af93e7d90d675164e6bfa04e2b76d1e2b622d"},"ros-jazzy-rosbridge-test-msgs-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348531560,"md5":"b2928e81ddef672c314ecb6de4c01f55","name":"ros-jazzy-rosbridge-test-msgs","requires":[],"size":1131950,"version":"2.1.0","binstar":{"package_id":"67ac5a99eeaf1c29bf69fb6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"79b397f39959acd45bce1aaba166ee87669c688ad7032bdc5a72b21395e85f1f"},"ros-jazzy-rosapi-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-rcl-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2node","ros-jazzy-ros2param","ros-jazzy-ros2pkg","ros-jazzy-ros2service","ros-jazzy-ros2topic","ros-jazzy-rosapi-msgs","ros-jazzy-rosbridge-library","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348674010,"md5":"4acfa8ab5cbd65c79f517bf4474fd693","name":"ros-jazzy-rosapi","requires":[],"size":54171,"version":"2.1.0","binstar":{"package_id":"67ac5ac30ed39038db69fb74","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f8bdc63a9e66c4bf3957ef8fe5bdc2e856f834edf105fb6800e484fc1a9bbc03"},"ros-jazzy-rosbridge-library-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["pillow","pymongo","python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","libstdcxx >=13","libgcc >=13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348655897,"md5":"a6b5c1a4be4e639719cd5ffa56c1f80c","name":"ros-jazzy-rosbridge-library","requires":[],"size":144871,"version":"2.1.0","binstar":{"package_id":"67ac5ac530ccf2467ee0a1a0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e85527c19c2a0eb97713d6b5efa8c4ad3fbda8e190505ba416a575c56b3e553b"},"ros-jazzy-rosbridge-server-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosapi","ros-jazzy-rosbridge-library","ros-jazzy-rosbridge-msgs","ros2-distro-mutex 0.6.* jazzy_*","tornado","twisted","libgcc >=13","libstdcxx >=13","libgcc >=13","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348677328,"md5":"2b7da351a890215da9a56f15c8fb7356","name":"ros-jazzy-rosbridge-server","requires":[],"size":53233,"version":"2.1.0","binstar":{"package_id":"67ac5ac6a538b1780fe0a18b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2095708494c6d8d3da864ca540acdcb7ad4a64d9fea96251f770ee533eb6b84b"},"ros-jazzy-rosbridge-suite-2.1.0-np126py311hdeb5fcf_1.conda":{"operatingsystem":"linux","machine":"aarch64","target-triplet":"aarch64-any-linux","has_prefix":false,"subdir":"linux-aarch64","arch":"aarch64","build":"np126py311hdeb5fcf_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosapi","ros-jazzy-rosbridge-library","ros-jazzy-rosbridge-server","ros2-distro-mutex 0.6.* jazzy_*","libgcc >=13","libstdcxx >=13","libgcc >=13","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"linux","timestamp":1739348680849,"md5":"0035e2e7b35184d87c717a5890aac90a","name":"ros-jazzy-rosbridge-suite","requires":[],"size":20872,"version":"2.1.0","binstar":{"package_id":"67ac5ac9eeaf1c29bf69fb6e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e598de646061041dd4ee33dcce5297a4f8c4da63dfb8a641d33cd2c9cc7e20a8"}},"info":{"default_numpy_version":"1.7","default_python_version":"2.7","platform":"linux","arch":"aarch64","subdir":"linux-aarch64"}}
\ No newline at end of file