diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml
new file mode 100644
index 00000000..45d58251
--- /dev/null
+++ b/.github/workflows/osx.yml
@@ -0,0 +1,3133 @@
+jobs:
+ stage_0_job_0:
+ name: mutex ament-package ament-cmake-core
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_1_job_1:
+ name: ros-workspace ros-environment
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_2_job_2:
+ name: ament-lint ament-cmake-python gtest-vendor ament-cmake-libraries ament-cmake-include-directories
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.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: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_2_job_4:
+ name: ament-pycodestyle osrf-pycommon google-benchmark-vendor osrf-testing-tools-cpp
+ test-interface-files
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_2_job_5:
+ name: iceoryx-hoofs sdformat-test-files ruckig ros-industrial-cmake-boilerplate
+ ompl
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_2_job_6:
+ name: gtsam apriltag
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.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: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_3_job_8:
+ name: ament-cmake-export-interfaces gmock-vendor iceoryx-posh backward-ros stomp
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_4_job_9:
+ name: ament-pep257 ament-cmake-gtest ament-cmake-vendor-package ament-mypy ament-lint-auto
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_4_job_10:
+ name: ament-cmake-pytest ament-cmake-google-benchmark iceoryx-binding-c ament-cmake-catch2
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_5_job_11:
+ name: ament-copyright ament-cmake-gen-version-h ament-cmake-gmock cyclonedds
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_6_job_12:
+ name: ament-lint-cmake ament-cmake ament-xmllint ament-cpplint ament-cppcheck
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_6_job_13:
+ name: ament-index-python domain-coordinator generate-parameter-library-py ament-clang-format
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_14:
+ name: ament-cmake-lint-cmake uncrustify-vendor launch rosidl-cli fastcdr
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_15:
+ name: rpyutils tl-expected tcb-span pybind11-vendor tinyxml2-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_16:
+ name: ros2-control-test-assets yaml-cpp-vendor zstd-vendor liblz4-vendor libcurl-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_17:
+ name: sqlite3-vendor xacro moveit-resources-panda-description random-numbers eigen-stl-containers
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_18:
+ name: moveit-resources-pr2-description moveit-common angles moveit-resources-fanuc-description
+ ament-cmake-auto
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_7_job_19:
+ name: sdl2-vendor ur-client-library zenoh-cpp-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_8_job_20:
+ name: ament-cmake-copyright ament-uncrustify launch-yaml launch-xml mcap-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_8_job_21:
+ name: moveit-resources-prbt-support
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_9_job_22:
+ name: ament-cmake-xmllint ament-cmake-uncrustify ament-cmake-pep257 ament-cmake-flake8
+ ament-cmake-cpplint
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_9_job_23:
+ name: ament-cmake-cppcheck launch-testing eigen3-cmake-module ament-cmake-clang-format
+ ament-cmake-mypy
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_10_job_24:
+ name: ament-lint-common foonathan-memory-vendor gz-cmake-vendor rviz-ogre-vendor
+ rviz-assimp-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_10_job_25:
+ name: gz-ogre-next-vendor gz-dartsim-vendor launch-pytest
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_11_job_26:
+ name: python-cmake-module rosidl-adapter performance-test-fixture mimick-vendor
+ ament-cmake-ros
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_11_job_27:
+ name: rosidl-typesupport-interface fastrtps-cmake-module fastrtps rti-connext-dds-cmake-module
+ rmw-implementation-cmake
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_11_job_28:
+ name: ament-index-cpp spdlog-vendor gz-utils-vendor gz-tools-vendor orocos-kdl-vendor
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_11_job_29:
+ name: python-qt-binding smclib osqp-vendor tango-icons-vendor keyboard-handler
+ runs-on: macos-13
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_12_job_30:
+ name: launch-testing-ament-cmake rosidl-parser tracetools libyaml-vendor console-bridge-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_12_job_31:
+ name: urdf-parser-plugin gz-math-vendor python-orocos-kdl-vendor resource-retriever
+ gz-plugin-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_12_job_32:
+ name: qt-gui qt-gui-py-common tracetools-image-pipeline qt-dotgraph
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_11_job_26
+ - stage_11_job_27
+ - stage_11_job_28
+ - stage_11_job_29
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_13_job_33:
+ name: rcutils rosidl-pycommon rosidl-generator-type-description sdformat-vendor
+ rviz-rendering
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_12_job_30
+ - stage_12_job_31
+ - stage_12_job_32
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_13_job_34:
+ name: gz-msgs-vendor gz-common-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_12_job_30
+ - stage_12_job_31
+ - stage_12_job_32
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_14_job_35:
+ name: rosidl-runtime-c rosidl-cmake rcpputils rviz-rendering-tests gz-transport-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_13_job_33
+ - stage_13_job_34
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_14_job_36:
+ name: gz-rendering-vendor gz-physics-vendor gz-fuel-tools-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_13_job_33
+ - stage_13_job_34
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_15_job_37:
+ name: rosidl-runtime-cpp rosidl-generator-c rosidl-dynamic-typesupport rcl-logging-interface
+ class-loader
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_14_job_35
+ - stage_14_job_36
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_15_job_38:
+ name: gz-sensors-vendor gz-gui-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_14_job_35
+ - stage_14_job_36
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_16_job_39:
+ name: rosidl-generator-cpp rmw rosidl-typesupport-introspection-c rosidl-dynamic-typesupport-fastrtps
+ rcl-logging-spdlog
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_15_job_37
+ - stage_15_job_38
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_16_job_40:
+ name: pluginlib gz-sim-vendor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_15_job_37
+ - stage_15_job_38
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_17_job_41:
+ name: rosidl-typesupport-fastrtps-cpp rosidl-typesupport-introspection-cpp rcl-yaml-param-parser
+ urdf qt-gui-cpp
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_16_job_39
+ - stage_16_job_40
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_18_job_42:
+ name: rosidl-typesupport-fastrtps-c sdformat-urdf kdl-parser srdfdom
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_17_job_41
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_19_job_43:
+ name: rosidl-typesupport-c rmw-zenoh-cpp rosidl-typesupport-cpp rosidl-generator-py
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_18_job_42
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_20_job_44:
+ name: rosidl-core-runtime rosidl-core-generators builtin-interfaces unique-identifier-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_19_job_43
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_21_job_45:
+ name: service-msgs action-msgs type-description-interfaces
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_20_job_44
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_22_job_46:
+ name: rosidl-default-runtime rosidl-default-generators
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_21_job_45
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_23_job_47:
+ name: rmw-dds-common test-msgs rcl-interfaces std-msgs statistics-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_46
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_23_job_48:
+ name: rosgraph-msgs lifecycle-msgs std-srvs example-interfaces ros2cli-test-interfaces
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_46
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_23_job_49:
+ name: topic-tools-interfaces rosbag2-test-msgdefs rosbag2-interfaces twist-mux-msgs
+ ur-dashboard-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_46
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_23_job_50:
+ name: rosbridge-msgs action-tutorials-interfaces pendulum-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_22_job_46
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build ros-jazzy-rosbridge-msgs ros-jazzy-action-tutorials-interfaces ros-jazzy-pendulum-msgs
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: ros-jazzy-rosbridge-msgs ros-jazzy-action-tutorials-interfaces
+ ros-jazzy-pendulum-msgs
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_24_job_51:
+ name: rmw-fastrtps-shared-cpp rmw-connextdds-common rmw-cyclonedds-cpp composition-interfaces
+ geometry-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_47
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_24_job_52:
+ name: rosidl-runtime-py controller-manager-msgs actionlib-msgs bond ackermann-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_47
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_24_job_53:
+ name: gps-msgs actuator-msgs velodyne-msgs rosapi-msgs rtcm-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_47
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_24_job_54:
+ name: nmea-msgs apriltag-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_23_job_47
+ - stage_23_job_48
+ - stage_23_job_49
+ - stage_23_job_50
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_25_job_55:
+ name: rmw-fastrtps-dynamic-cpp rmw-fastrtps-cpp rmw-connextdds sensor-msgs trajectory-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_51
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_25_job_56:
+ name: tf2-msgs tf2 diagnostic-msgs shape-msgs octomap-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_51
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_25_job_57:
+ name: nav-msgs geographic-msgs nav-2d-msgs vision-msgs ros-gz-interfaces
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_51
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_25_job_58:
+ name: ur-msgs graph-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_24_job_51
+ - stage_24_job_52
+ - stage_24_job_53
+ - stage_24_job_54
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_26_job_59:
+ name: rmw-implementation control-msgs object-recognition-msgs visualization-msgs
+ stereo-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_55
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_26_job_60:
+ name: sensor-msgs-py map-msgs tf2-eigen-kdl dwb-msgs image-geometry
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_55
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_26_job_61:
+ name: pcl-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_25_job_55
+ - stage_25_job_56
+ - stage_25_job_57
+ - stage_25_job_58
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_27_job_62:
+ name: rcl moveit-msgs common-interfaces
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_26_job_59
+ - stage_26_job_60
+ - stage_26_job_61
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_28_job_63:
+ name: libstatistics-collector rcl-lifecycle rcl-action
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_27_job_62
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_29_job_64:
+ name: rclcpp rclpy
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_28_job_63
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_65:
+ name: rsl rclcpp-lifecycle rclcpp-action launch-ros ros2cli
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_66:
+ name: rclcpp-components filters rosbag2-test-common tf2-py geometric-shapes
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_67:
+ name: launch-param-builder cv-bridge laser-geometry behaviortree-cpp rqt-gui
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_68:
+ name: rqt-py-common rqt-gui-cpp camera-calibration-parsers rosbridge-test-msgs
+ teleop-twist-keyboard
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_69:
+ name: dummy-sensors dummy-map-server demo-nodes-py quality-of-service-demo-py
+ intra-process-demo
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build 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
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_70:
+ name: examples-rclpy-minimal-subscriber examples-rclpy-minimal-service examples-rclpy-minimal-publisher
+ examples-rclpy-minimal-client examples-rclpy-minimal-action-server
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build 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
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_71:
+ name: examples-rclpy-minimal-action-client examples-rclpy-executors examples-rclcpp-multithreaded-executor
+ examples-rclcpp-minimal-timer examples-rclcpp-minimal-service
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build 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
+ env:
+ ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
+ CURRENT_RECIPES: 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_30_job_72:
+ name: examples-rclcpp-minimal-publisher examples-rclcpp-minimal-client action-tutorials-py
+ plotjuggler
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_29_job_64
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build 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-publisher ros-jazzy-examples-rclcpp-minimal-client
+ ros-jazzy-action-tutorials-py ros-jazzy-plotjuggler
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_73:
+ name: parameter-traits realtime-tools launch-testing-ros message-filters ros2lifecycle-test-fixtures
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_74:
+ name: ros2multicast rosbag2-storage tf2-ros-py topic-tools nav2-common
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_75:
+ name: bondcpp moveit-configs-utils kinematics-interface ros-gz-bridge rqt-gui-py
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_76:
+ name: ros-gz-sim camera-info-manager joy rosbridge-library velodyne-laserscan
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_77:
+ name: vision-opencv turtlesim topic-monitor quality-of-service-demo-cpp examples-rclcpp-minimal-subscriber
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_78:
+ name: examples-rclcpp-minimal-composition examples-rclcpp-minimal-action-server
+ examples-rclcpp-minimal-action-client depthimage-to-laserscan action-tutorials-cpp
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_31_job_79:
+ name: flex-sync
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_30_job_65
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_80:
+ name: generate-parameter-library ros2pkg ros2service ros2node tf2-ros
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_81:
+ name: ros2test diagnostic-updater ros2topic ros2interface ros2doctor
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_82:
+ name: ros2action rosbag2-storage-sqlite3 rosbag2-storage-mcap nav2-msgs nav2-voxel-grid
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_83:
+ name: point-cloud-transport image-transport kinematics-interface-kdl rqt-plot
+ pcl-conversions
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_84:
+ name: rqt-console camera-calibration tf2-tools teleop-twist-joy ros2-controllers-test-nodes
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_85:
+ name: diagnostic-aggregator rqt-shell rqt-service-caller rqt-py-console rqt-publisher
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_86:
+ name: rqt-graph logging-demo image-tools demo-nodes-cpp-native demo-nodes-cpp
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_32_job_87:
+ name: composition
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_31_job_73
+ - stage_31_job_74
+ - stage_31_job_75
+ - stage_31_job_76
+ - stage_31_job_77
+ - stage_31_job_78
+ - stage_31_job_79
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_88:
+ name: joint-limits ros2run ros2param robot-state-publisher ros-testing
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_89:
+ name: ros2lifecycle ros2launch joint-state-publisher control-toolbox tf2-kdl
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_90:
+ name: tf2-geometry-msgs tf2-eigen rosbag2-storage-default-plugins rviz-common
+ tf2-sensor-msgs
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_91:
+ name: zstd-image-transport theora-image-transport compressed-image-transport compressed-depth-image-transport
+ ros-gz-image
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_92:
+ name: nav2-simple-commander rqt-topic rqt-image-view twist-mux image-view
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_93:
+ name: image-publisher tf2-bullet rqt-msg velodyne-pointcloud velodyne-driver
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_33_job_94:
+ name: rqt-reconfigure image-common self-test diagnostic-common-diagnostics apriltag-ros
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_32_job_80
+ - 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
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_34_job_95:
+ name: hardware-interface sros2 ros2component joint-state-publisher-gui nav2-util
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_88
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_34_job_96:
+ name: rosbag2-cpp rviz-visual-testing-framework interactive-markers warehouse-ros
+ robot-localization
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_88
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_34_job_97:
+ name: image-transport-plugins image-proc image-rotate pcl-ros rosapi
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_88
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_34_job_98:
+ name: geometry2 rqt-srv rqt-action velodyne laser-filters
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_88
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_34_job_99:
+ name: lifecycle dummy-robot-bringup sbg-driver diagnostics
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_33_job_88
+ - stage_33_job_89
+ - stage_33_job_90
+ - stage_33_job_91
+ - stage_33_job_92
+ - stage_33_job_93
+ - stage_33_job_94
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Build 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-lifecycle ros-jazzy-dummy-robot-bringup ros-jazzy-sbg-driver
+ ros-jazzy-diagnostics
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_35_job_100:
+ name: hardware-interface-testing controller-interface ros2cli-common-extensions
+ nav2-map-server nav2-lifecycle-manager
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_95
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_35_job_101:
+ name: rosbag2-compression nav2-behavior-tree rviz-default-plugins nav-2d-utils
+ opennav-docking-core
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_95
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_35_job_102:
+ name: nav2-velocity-smoother nav2-amcl stereo-image-proc depth-image-proc sros2-cmake
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_95
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_35_job_103:
+ name: warehouse-ros-sqlite transmission-interface rosbridge-server perception-pcl
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_34_job_95
+ - stage_34_job_96
+ - stage_34_job_97
+ - stage_34_job_98
+ - stage_34_job_99
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_36_job_104:
+ name: controller-manager nav2-costmap-2d rosbag2-compression-zstd rviz2 nav2-rviz-plugins
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_35_job_100
+ - stage_35_job_101
+ - stage_35_job_102
+ - stage_35_job_103
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_36_job_105:
+ name: slam-toolbox image-pipeline ros-core rosbridge-suite
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_35_job_100
+ - stage_35_job_101
+ - stage_35_job_102
+ - stage_35_job_103
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_37_job_106:
+ name: forward-command-controller gripper-controllers steering-controllers-library
+ joint-trajectory-controller nav2-core
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_104
+ - stage_36_job_105
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_37_job_107:
+ name: rosbag2-transport tricycle-controller range-sensor-broadcaster pose-broadcaster
+ pid-controller
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_104
+ - stage_36_job_105
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_37_job_108:
+ name: parallel-gripper-controller mecanum-drive-controller joint-state-broadcaster
+ imu-sensor-broadcaster gpio-controllers
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_104
+ - stage_36_job_105
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_37_job_109:
+ name: force-torque-sensor-broadcaster diff-drive-controller costmap-queue nav2-collision-monitor
+ ur-description
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_104
+ - stage_36_job_105
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_37_job_110:
+ name: ros-gz-sim-demos gz-ros2-control ros2controlcli rviz-visual-tools
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_36_job_104
+ - stage_36_job_105
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_38_job_111:
+ name: position-controllers velocity-controllers tricycle-steering-controller effort-controllers
+ bicycle-steering-controller
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_106
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_38_job_112:
+ name: admittance-controller ackermann-steering-controller nav2-controller dwb-core
+ rosbag2-py
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_106
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_38_job_113:
+ name: nav2-regulated-pure-pursuit-controller opennav-docking-bt nav2-waypoint-follower
+ nav2-theta-star-planner nav2-smoother
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_106
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_38_job_114:
+ name: nav2-smac-planner nav2-planner nav2-navfn-planner nav2-mppi-controller nav2-constrained-smoother
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_106
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_38_job_115:
+ name: nav2-bt-navigator nav2-behaviors ur-controllers ros-gz ros2-control
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_37_job_106
+ - stage_37_job_107
+ - stage_37_job_108
+ - stage_37_job_109
+ - stage_37_job_110
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_39_job_116:
+ name: moveit-resources-panda-moveit-config moveit-resources-fanuc-moveit-config
+ ros2-controllers nav2-graceful-controller dwb-plugins
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_111
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_39_job_117:
+ name: dwb-critics ros2bag nav2-rotation-shim-controller rqt-bag ur-robot-driver
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_111
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_39_job_118:
+ name: gz-ros2-control-demos
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_38_job_111
+ - stage_38_job_112
+ - stage_38_job_113
+ - stage_38_job_114
+ - stage_38_job_115
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_40_job_119:
+ name: moveit-core opennav-docking nav2-dwb-controller rosbag2-tests ur-calibration
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_39_job_116
+ - stage_39_job_117
+ - stage_39_job_118
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_41_job_120:
+ 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: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_40_job_119
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_41_job_121:
+ name: moveit-planners-stomp navigation2 rosbag2
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_40_job_119
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_42_job_122:
+ name: moveit-ros-planning moveit-planners-chomp rqt-bag-plugins ros-base moveit-plugins
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_41_job_120
+ - stage_41_job_121
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_42_job_123:
+ name: plotjuggler-ros
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_41_job_120
+ - stage_41_job_121
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_43_job_124:
+ name: moveit-kinematics moveit-ros-warehouse moveit-ros-robot-interaction moveit-planners-ompl
+ rqt-common-plugins
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_42_job_122
+ - stage_42_job_123
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_43_job_125:
+ name: simulation perception moveit-visual-tools
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_42_job_122
+ - stage_42_job_123
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_44_job_126:
+ name: moveit-ros-move-group moveit-ros-benchmarks desktop
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_43_job_124
+ - stage_43_job_125
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_45_job_127:
+ name: moveit-ros-planning-interface moveit-resources-prbt-moveit-config desktop-full
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_44_job_126
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_46_job_128:
+ name: moveit-ros-visualization moveit-resources-prbt-pg70-support
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_45_job_127
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_47_job_129:
+ name: moveit-setup-framework pilz-industrial-motion-planner moveit-servo moveit-ros
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_46_job_128
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_48_job_130:
+ name: moveit-setup-core-plugins moveit-setup-controllers moveit-setup-app-plugins
+ moveit-setup-srdf-plugins moveit-planners
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_47_job_129
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_49_job_131:
+ name: moveit-setup-assistant ur-moveit-config
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_48_job_130
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+ stage_50_job_132:
+ name: ur-simulation-gz ur moveit
+ runs-on: macos-13
+ strategy:
+ fail-fast: false
+ needs:
+ - stage_49_job_131
+ 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
+ run: |
+ export CI=azure
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ .scripts/build_osx.sh
+name: build_osx
+on:
+ push:
+ branches:
+ - buildbranch_osx
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..9b1a089e
--- /dev/null
+++ b/buildorder.txt
@@ -0,0 +1,569 @@
+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-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-action-tutorials-interfaces
+ros-jazzy-pendulum-msgs
+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-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-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..59912c6c
--- /dev/null
+++ b/recipes/ros-jazzy-backward-ros/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-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
+ - numpy
+ - pip
+ - python
+ - ros-jazzy-ament-cmake-libraries
+ - 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-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..eef1e3f0
--- /dev/null
+++ b/recipes/ros-jazzy-bondcpp/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-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
+ - 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:
+ - 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..f2b98c0e
--- /dev/null
+++ b/recipes/ros-jazzy-desktop/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-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-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-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..5c523ab6
--- /dev/null
+++ b/recipes/ros-jazzy-gz-common-vendor/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-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
+ - 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
+ - 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..653d83e8
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ogre-next-vendor/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-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
+ - 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
+ - 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..d9db61d0
--- /dev/null
+++ b/recipes/ros-jazzy-gz-rendering-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-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
+ - freeimage
+ - glew
+ - gz-rendering8
+ - 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:
+ - freeimage
+ - glew
+ - gz-rendering8
+ - 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/patch/ros-jazzy-gz-ros2-control.osx.patch b/recipes/ros-jazzy-gz-ros2-control/patch/ros-jazzy-gz-ros2-control.osx.patch
new file mode 100644
index 00000000..b0c68645
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control/patch/ros-jazzy-gz-ros2-control.osx.patch
@@ -0,0 +1,17 @@
+diff --git a/gz_ros2_control/CMakeLists.txt b/gz_ros2_control/CMakeLists.txt
+index 196f62d5..a7bdfd01 100644
+--- a/gz_ros2_control/CMakeLists.txt
++++ b/gz_ros2_control/CMakeLists.txt
+@@ -24,6 +24,12 @@ find_package(pluginlib REQUIRED)
+ find_package(rclcpp REQUIRED)
+ find_package(yaml_cpp_vendor REQUIRED)
+
++# 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()
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+ find_package(gz_sim_vendor REQUIRED)
+ find_package(gz-sim REQUIRED)
+
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..c61b143b
--- /dev/null
+++ b/recipes/ros-jazzy-gz-ros2-control/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-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
+ patches:
+ - patch/ros-jazzy-gz-ros2-control.osx.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-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..3b197983
--- /dev/null
+++ b/recipes/ros-jazzy-gz-sim-vendor/recipe.yaml
@@ -0,0 +1,160 @@
+# 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
+ - freeimage
+ - glew
+ - gz-sim8
+ - libprotobuf
+ - 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
+ - freeimage
+ - glew
+ - gz-sim8
+ - libprotobuf
+ - 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..a44d0a9d
--- /dev/null
+++ b/recipes/ros-jazzy-gz-transport-vendor/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-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
+ - 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
+ - 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..8fb59d3a
--- /dev/null
+++ b/recipes/ros-jazzy-iceoryx-hoofs/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-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
+ - 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-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..5b35f50e
--- /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
+ - llvm-openmp
+ - 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:
+ - llvm-openmp
+ - 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..064e2eac
--- /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
+ - llvm-openmp
+ - 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
+ - llvm-openmp
+ - 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-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..809ec2dd
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler-ros/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-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:
+ - 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:
+ - 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..c876b695
--- /dev/null
+++ b/recipes/ros-jazzy-plotjuggler/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-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 }}
+ - 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:
+ - 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/patch/ros-jazzy-rclpy.osx.patch b/recipes/ros-jazzy-rclpy/patch/ros-jazzy-rclpy.osx.patch
new file mode 100644
index 00000000..89b7d203
--- /dev/null
+++ b/recipes/ros-jazzy-rclpy/patch/ros-jazzy-rclpy.osx.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 80b8a1f..5b6a55b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -72,7 +72,7 @@ function(configure_build_install_location _library_name)
+ endfunction()
+
+ # Split from main extension and converted to pybind11
+-pybind11_add_module(_rclpy_pybind11 SHARED
++pybind11_add_module(_rclpy_pybind11 MODULE
+ src/rclpy/_rclpy_logging.cpp
+ src/rclpy/_rclpy_pybind11.cpp
+ src/rclpy/action_client.cpp
diff --git a/recipes/ros-jazzy-rclpy/recipe.yaml b/recipes/ros-jazzy-rclpy/recipe.yaml
new file mode 100644
index 00000000..58adeae1
--- /dev/null
+++ b/recipes/ros-jazzy-rclpy/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-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
+ patches:
+ - patch/ros-jazzy-rclpy.osx.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
+ - 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/patch/ros-jazzy-realtime-tools.osx.patch b/recipes/ros-jazzy-realtime-tools/patch/ros-jazzy-realtime-tools.osx.patch
new file mode 100644
index 00000000..bc993ecd
--- /dev/null
+++ b/recipes/ros-jazzy-realtime-tools/patch/ros-jazzy-realtime-tools.osx.patch
@@ -0,0 +1,83 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9ccbe4c..5652dad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,7 +48,7 @@ target_include_directories(realtime_tools PUBLIC
+ $
+ )
+ ament_target_dependencies(realtime_tools PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
+-if(UNIX)
++if(UNIX AND NOT APPLE)
+ target_link_libraries(realtime_tools PUBLIC cap)
+ endif()
+
+@@ -62,7 +62,7 @@ target_include_directories(thread_priority PUBLIC
+ $
+ )
+ ament_target_dependencies(thread_priority PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
+-if(UNIX)
++if(UNIX AND NOT APPLE)
+ target_link_libraries(thread_priority PUBLIC cap)
+ endif()
+
+diff --git a/src/realtime_helpers.cpp b/src/realtime_helpers.cpp
+index 9dbbfdf..10c3066 100644
+--- a/src/realtime_helpers.cpp
++++ b/src/realtime_helpers.cpp
+@@ -32,13 +32,16 @@
+ #include
+ #else
+ #include
+-#include
+ #include
+ #include
+
+ #include
+ #endif
+
++#if defined(__unix__)
++#include
++#endif
++
+ #include
+ #include
+ #include
+@@ -75,6 +78,19 @@ bool configure_sched_fifo(int priority)
+ #ifdef _WIN32
+ HANDLE thread = GetCurrentThread();
+ return SetThreadPriority(thread, priority);
++#elif defined(__APPLE__)
++ pthread_t thread = pthread_self();
++ struct sched_param schedp;
++ memset(&schedp, 0, sizeof(schedp));
++ schedp.sched_priority = priority;
++
++ int policy = SCHED_FIFO;
++ if (pthread_setschedparam(thread, policy, &schedp) == 0) {
++ return true;
++ } else {
++ // Optionally log strerror(errno) for debugging
++ return false;
++ }
+ #else
+ struct sched_param schedp;
+ memset(&schedp, 0, sizeof(schedp));
+@@ -94,6 +110,8 @@ std::pair lock_memory()
+ {
+ #ifdef _WIN32
+ return {false, "Memory locking is not supported on Windows."};
++#elif defined(__APPLE__)
++ return {false, "Memory locking is not supported on MacOS."};
+ #else
+ auto is_capable = [](cap_value_t v) -> bool {
+ bool rc = false;
+@@ -146,6 +164,9 @@ std::pair set_thread_affinity(
+ #ifdef _WIN32
+ message = "Thread affinity is not supported on Windows.";
+ return std::make_pair(false, message);
++#elif defined(__APPLE__)
++ message = "Memory locking is not supported on MacOS.";
++ return std::make_pair(false, message);
+ #else
+ auto set_affinity_result_message = [](int result, std::string & msg) -> bool {
+ if (result == 0) {
diff --git a/recipes/ros-jazzy-realtime-tools/recipe.yaml b/recipes/ros-jazzy-realtime-tools/recipe.yaml
new file mode 100644
index 00000000..2ecc4cc8
--- /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
+ patches:
+ - patch/ros-jazzy-realtime-tools.osx.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-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
+ - 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/patch/ros-jazzy-rosbag2-py.osx.patch b/recipes/ros-jazzy-rosbag2-py/patch/ros-jazzy-rosbag2-py.osx.patch
new file mode 100644
index 00000000..d7564996
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-py/patch/ros-jazzy-rosbag2-py.osx.patch
@@ -0,0 +1,74 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index feb07925f..6000ec43e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,21 +41,21 @@ find_package(pybind11 REQUIRED)
+
+ ament_python_install_package(${PROJECT_NAME})
+
+-pybind11_add_module(_compression_options SHARED
++pybind11_add_module(_compression_options MODULE
+ src/rosbag2_py/_compression_options.cpp
+ )
+ target_link_libraries(_compression_options PUBLIC
+ rosbag2_compression::rosbag2_compression
+ )
+
+-pybind11_add_module(_message_definitions SHARED
++pybind11_add_module(_message_definitions MODULE
+ src/rosbag2_py/_message_definitions.cpp
+ )
+ target_link_libraries(_message_definitions PUBLIC
+ rosbag2_cpp::rosbag2_cpp
+ )
+
+-pybind11_add_module(_reader SHARED
++pybind11_add_module(_reader MODULE
+ src/rosbag2_py/_reader.cpp
+ )
+ target_link_libraries(_reader PUBLIC
+@@ -64,7 +64,7 @@ target_link_libraries(_reader PUBLIC
+ rosbag2_storage::rosbag2_storage
+ )
+
+-pybind11_add_module(_storage SHARED
++pybind11_add_module(_storage MODULE
+ src/rosbag2_py/_storage.cpp
+ src/rosbag2_py/format_bag_metadata.cpp
+ )
+@@ -73,7 +73,7 @@ target_link_libraries(_storage PUBLIC
+ rosbag2_storage::rosbag2_storage
+ )
+
+-pybind11_add_module(_writer SHARED
++pybind11_add_module(_writer MODULE
+ src/rosbag2_py/_writer.cpp
+ )
+ target_link_libraries(_writer PUBLIC
+@@ -82,7 +82,7 @@ target_link_libraries(_writer PUBLIC
+ rosbag2_storage::rosbag2_storage
+ )
+
+-pybind11_add_module(_info SHARED
++pybind11_add_module(_info MODULE
+ src/rosbag2_py/_info.cpp
+ src/rosbag2_py/format_bag_metadata.cpp
+ src/rosbag2_py/format_service_info.cpp
+@@ -92,7 +92,7 @@ target_link_libraries(_info PUBLIC
+ rosbag2_storage::rosbag2_storage
+ )
+
+-pybind11_add_module(_transport SHARED
++pybind11_add_module(_transport MODULE
+ src/rosbag2_py/_transport.cpp
+ )
+ target_link_libraries(_transport PUBLIC
+@@ -102,7 +102,7 @@ target_link_libraries(_transport PUBLIC
+ rosbag2_transport::rosbag2_transport
+ )
+
+-pybind11_add_module(_reindexer SHARED
++pybind11_add_module(_reindexer MODULE
+ src/rosbag2_py/_reindexer.cpp
+ )
+ target_link_libraries(_reindexer PUBLIC
diff --git a/recipes/ros-jazzy-rosbag2-py/recipe.yaml b/recipes/ros-jazzy-rosbag2-py/recipe.yaml
new file mode 100644
index 00000000..ccb5dc35
--- /dev/null
+++ b/recipes/ros-jazzy-rosbag2-py/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-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
+ patches:
+ - patch/ros-jazzy-rosbag2-py.osx.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
+ - 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/patch/ros-jazzy-rosidl-generator-py.osx.patch b/recipes/ros-jazzy-rosidl-generator-py/patch/ros-jazzy-rosidl-generator-py.osx.patch
new file mode 100644
index 00000000..cde64b21
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-py/patch/ros-jazzy-rosidl-generator-py.osx.patch
@@ -0,0 +1,69 @@
+diff --git a/cmake/rosidl_generator_py_generate_interfaces.cmake b/cmake/rosidl_generator_py_generate_interfaces.cmake
+index cfc424a..cddd23d 100644
+--- a/cmake/rosidl_generator_py_generate_interfaces.cmake
++++ b/cmake/rosidl_generator_py_generate_interfaces.cmake
+@@ -138,7 +139,7 @@ set_property(
+
+ set(_target_name_lib "${rosidl_generate_interfaces_TARGET}__rosidl_generator_py")
+ add_library(${_target_name_lib} SHARED ${_generated_c_files})
+-target_link_libraries(${_target_name_lib} PRIVATE
++target_link_libraries(${_target_name_lib} PUBLIC
+ ${rosidl_generate_interfaces_TARGET}__rosidl_generator_c)
+ add_dependencies(
+ ${_target_name_lib}
+@@ -146,11 +147,6 @@ add_dependencies(
+ ${rosidl_generate_interfaces_TARGET}__rosidl_typesupport_c
+ )
+
+-target_link_libraries(
+- ${_target_name_lib} PRIVATE
+- Python3::NumPy
+- Python3::Python
+-)
+ target_include_directories(${_target_name_lib}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c
+@@ -162,8 +158,15 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ set(_extension_compile_flags -Wall -Wextra)
+ endif()
+
++if(APPLE)
++ set_target_properties(${_target_name_lib} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
++ target_include_directories(${_target_name_lib} PUBLIC ${Python3_INCLUDE_DIRS} ${Python3_NumPy_INCLUDE_DIRS})
++else()
++ target_link_libraries(${_target_name_lib} PUBLIC Python3::NumPy Python3::Python)
++endif()
++
+ rosidl_get_typesupport_target(c_typesupport_target "${rosidl_generate_interfaces_TARGET}" "rosidl_typesupport_c")
+-target_link_libraries(${_target_name_lib} PRIVATE ${c_typesupport_target})
++target_link_libraries(${_target_name_lib} PUBLIC ${c_typesupport_target})
+
+ foreach(_typesupport_impl ${_typesupport_impls})
+ find_package(${_typesupport_impl} REQUIRED)
+@@ -194,7 +197,7 @@ foreach(_typesupport_impl ${_typesupport_impls})
+ RUNTIME_OUTPUT_DIRECTORY ${_output_path})
+
+ target_link_libraries(
+- ${_target_name} PRIVATE
++ ${_target_name} PUBLIC
+ ${_target_name_lib}
+ ${rosidl_generate_interfaces_TARGET}__${_typesupport_impl}
+ ${c_typesupport_target}
+@@ -210,7 +213,7 @@ foreach(_typesupport_impl ${_typesupport_impls})
+ )
+
+ foreach(_pkg_name ${rosidl_generate_interfaces_DEPENDENCY_PACKAGE_NAMES})
+- target_link_libraries(${_target_name} PRIVATE ${${_pkg_name}__TARGETS})
++ target_link_libraries(${_target_name} PUBLIC ${${_pkg_name}__TARGETS})
+ endforeach()
+
+ add_dependencies(${_target_name}
+@@ -231,7 +234,7 @@ endforeach()
+
+ # Depend on rosidl_generator_py generated targets from our dependencies
+ foreach(_pkg_name ${rosidl_generate_interfaces_DEPENDENCY_PACKAGE_NAMES})
+- target_link_libraries(${_target_name_lib} PRIVATE ${${_pkg_name}_TARGETS${rosidl_generator_py_suffix}})
++ target_link_libraries(${_target_name_lib} PUBLIC ${${_pkg_name}_TARGETS${rosidl_generator_py_suffix}})
+ endforeach()
+
+ set_target_properties(${_target_name_lib} PROPERTIES COMPILE_OPTIONS "${_extension_compile_flags}")
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..7a69b0bd
--- /dev/null
+++ b/recipes/ros-jazzy-rosidl-generator-py/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-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
+ patches:
+ - patch/ros-jazzy-rosidl-generator-py.osx.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
+ - 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-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-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/patch/ros-jazzy-ur-client-library.osx.patch b/recipes/ros-jazzy-ur-client-library/patch/ros-jazzy-ur-client-library.osx.patch
new file mode 100644
index 00000000..e416aa38
--- /dev/null
+++ b/recipes/ros-jazzy-ur-client-library/patch/ros-jazzy-ur-client-library.osx.patch
@@ -0,0 +1,243 @@
+diff --git a/include/ur_client_library/portable_endian.h b/include/ur_client_library/portable_endian.h
+new file mode 100644
+index 0000000..2b43378
+--- /dev/null
++++ b/include/ur_client_library/portable_endian.h
+@@ -0,0 +1,118 @@
++// "License": Public Domain
++// I, Mathias Panzenböck, place this file hereby into the public domain. Use it at your own risk for whatever you like.
++// In case there are jurisdictions that don't support putting things in the public domain you can also consider it to
++// be "dual licensed" under the BSD, MIT and Apache licenses, if you want to. This code is trivial anyway. Consider it
++// an example on how to get the endian conversion functions on different platforms.
++
++#ifndef PORTABLE_ENDIAN_H__
++#define PORTABLE_ENDIAN_H__
++
++#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__)
++
++# define __WINDOWS__
++
++#endif
++
++#if defined(__linux__) || defined(__CYGWIN__)
++
++# include
++
++#elif defined(__APPLE__)
++
++# include
++
++# define htobe16(x) OSSwapHostToBigInt16(x)
++# define htole16(x) OSSwapHostToLittleInt16(x)
++# define be16toh(x) OSSwapBigToHostInt16(x)
++# define le16toh(x) OSSwapLittleToHostInt16(x)
++
++# define htobe32(x) OSSwapHostToBigInt32(x)
++# define htole32(x) OSSwapHostToLittleInt32(x)
++# define be32toh(x) OSSwapBigToHostInt32(x)
++# define le32toh(x) OSSwapLittleToHostInt32(x)
++
++# define htobe64(x) OSSwapHostToBigInt64(x)
++# define htole64(x) OSSwapHostToLittleInt64(x)
++# define be64toh(x) OSSwapBigToHostInt64(x)
++# define le64toh(x) OSSwapLittleToHostInt64(x)
++
++# define __BYTE_ORDER BYTE_ORDER
++# define __BIG_ENDIAN BIG_ENDIAN
++# define __LITTLE_ENDIAN LITTLE_ENDIAN
++# define __PDP_ENDIAN PDP_ENDIAN
++
++#elif defined(__OpenBSD__)
++
++# include
++
++#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
++
++# include
++
++# define be16toh(x) betoh16(x)
++# define le16toh(x) letoh16(x)
++
++# define be32toh(x) betoh32(x)
++# define le32toh(x) letoh32(x)
++
++# define be64toh(x) betoh64(x)
++# define le64toh(x) letoh64(x)
++
++#elif defined(__WINDOWS__)
++
++# include
++# include
++
++# if BYTE_ORDER == LITTLE_ENDIAN
++
++# define htobe16(x) htons(x)
++# define htole16(x) (x)
++# define be16toh(x) ntohs(x)
++# define le16toh(x) (x)
++
++# define htobe32(x) htonl(x)
++# define htole32(x) (x)
++# define be32toh(x) ntohl(x)
++# define le32toh(x) (x)
++
++# define htobe64(x) htonll(x)
++# define htole64(x) (x)
++# define be64toh(x) ntohll(x)
++# define le64toh(x) (x)
++
++# elif BYTE_ORDER == BIG_ENDIAN
++
++ /* that would be xbox 360 */
++# define htobe16(x) (x)
++# define htole16(x) __builtin_bswap16(x)
++# define be16toh(x) (x)
++# define le16toh(x) __builtin_bswap16(x)
++
++# define htobe32(x) (x)
++# define htole32(x) __builtin_bswap32(x)
++# define be32toh(x) (x)
++# define le32toh(x) __builtin_bswap32(x)
++
++# define htobe64(x) (x)
++# define htole64(x) __builtin_bswap64(x)
++# define be64toh(x) (x)
++# define le64toh(x) __builtin_bswap64(x)
++
++# else
++
++# error byte order not supported
++
++# endif
++
++# define __BYTE_ORDER BYTE_ORDER
++# define __BIG_ENDIAN BIG_ENDIAN
++# define __LITTLE_ENDIAN LITTLE_ENDIAN
++# define __PDP_ENDIAN PDP_ENDIAN
++
++#else
++
++# error platform not supported
++
++#endif
++
++#endif
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 878ffed..a1b176e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -69,6 +65,9 @@ endif()
+ if(CMAKE_THREAD_LIBS_INIT)
+ target_link_libraries(urcl PUBLIC "${CMAKE_THREAD_LIBS_INIT}")
+ endif()
++if(UNIX AND NOT APPLE)
++ target_link_libraries(urcl PUBLIC "rt")
++endif()
+
+ ##
+ ## Build testing if enabled by option
+diff --git a/include/ur_client_library/comm/bin_parser.h b/include/ur_client_library/comm/bin_parser.h
+index e13aba6..83f8e6c 100644
+--- a/include/ur_client_library/comm/bin_parser.h
++++ b/include/ur_client_library/comm/bin_parser.h
+@@ -21,7 +21,6 @@
+ #pragma once
+
+ #include
+-#include
+ #include
+ #include
+ #include
+@@ -29,6 +28,7 @@
+ #include
+ #include
+ #include
++#include "ur_client_library/portable_endian.h"
+ #include "ur_client_library/log.h"
+ #include "ur_client_library/types.h"
+ #include "ur_client_library/exceptions.h"
+diff --git a/include/ur_client_library/comm/package_serializer.h b/include/ur_client_library/comm/package_serializer.h
+index 7745da9..ded500a 100644
+--- a/include/ur_client_library/comm/package_serializer.h
++++ b/include/ur_client_library/comm/package_serializer.h
+@@ -29,8 +29,8 @@
+ #ifndef UR_CLIENT_LIBRARY_PACKAGE_SERIALIZER_H_INCLUDED
+ #define UR_CLIENT_LIBRARY_PACKAGE_SERIALIZER_H_INCLUDED
+
+-#include
+ #include
++#include "ur_client_library/portable_endian.h"
+
+ namespace urcl
+ {
+diff --git a/include/ur_client_library/control/reverse_interface.h b/include/ur_client_library/control/reverse_interface.h
+index 707c455..ee8c318 100644
+--- a/include/ur_client_library/control/reverse_interface.h
++++ b/include/ur_client_library/control/reverse_interface.h
+@@ -35,8 +35,8 @@
+ #include "ur_client_library/log.h"
+ #include "ur_client_library/ur/robot_receive_timeout.h"
+ #include
+-#include
+ #include
++#include "ur_client_library/portable_endian.h"
+
+ namespace urcl
+ {
+diff --git a/include/ur_client_library/primary/package_header.h b/include/ur_client_library/primary/package_header.h
+index cd64bda..440b2e4 100644
+--- a/include/ur_client_library/primary/package_header.h
++++ b/include/ur_client_library/primary/package_header.h
+@@ -32,7 +32,7 @@
+
+ #include
+ #include
+-#include
++#include "ur_client_library/portable_endian.h"
+ #include "ur_client_library/types.h"
+
+ namespace urcl
+diff --git a/include/ur_client_library/rtde/package_header.h b/include/ur_client_library/rtde/package_header.h
+index f910a08..eb509ea 100644
+--- a/include/ur_client_library/rtde/package_header.h
++++ b/include/ur_client_library/rtde/package_header.h
+@@ -31,7 +31,7 @@
+ #define UR_CLIENT_LIBRARY_RTDE__HEADER_H_INCLUDED
+
+ #include
+-#include
++#include "ur_client_library/portable_endian.h"
+ #include "ur_client_library/types.h"
+ #include "ur_client_library/comm/package_serializer.h"
+
+diff --git a/src/comm/tcp_socket.cpp b/src/comm/tcp_socket.cpp
+index 8803664..1d92880 100644
+--- a/src/comm/tcp_socket.cpp
++++ b/src/comm/tcp_socket.cpp
+@@ -21,7 +21,6 @@
+ */
+
+ #include
+-#include
+ #include
+ #include
+ #include
+@@ -29,6 +28,7 @@
+ #include
+ #include
+
++#include "ur_client_library/portable_endian.h"
+ #include "ur_client_library/log.h"
+ #include "ur_client_library/comm/tcp_socket.h"
+
+@@ -48,7 +48,9 @@ void TCPSocket::setupOptions()
+ {
+ int flag = 1;
+ setsockopt(socket_fd_, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(int));
++#ifndef __APPLE__
+ setsockopt(socket_fd_, IPPROTO_TCP, TCP_QUICKACK, &flag, sizeof(int));
++#endif
+
+ if (recv_timeout_ != nullptr)
+ {
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..c97d1be3
--- /dev/null
+++ b/recipes/ros-jazzy-ur-client-library/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-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
+ patches:
+ - patch/ros-jazzy-ur-client-library.osx.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-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..471e0e0c
--- /dev/null
+++ b/vinca.yaml
@@ -0,0 +1,100 @@
+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_py
+ - urdfdom_headers
+ - pendulum_control
+ - rttest
+ - tlsf
+ - tlsf_cpp
+
+packages_remove_from_deps:
+ - cartographer
+ - pendulum_control
+ - rttest
+ - tlsf
+ - tlsf_cpp
+
+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
+ - gripper_controllers
+
+ - ament_cmake_mypy
+ - rosbridge_suite
+
+
+
+patch_dir: patch
+rosdistro_snapshot: rosdistro_snapshot.yaml
diff --git a/vinca_ec4ef9dfb4.json b/vinca_ec4ef9dfb4.json
new file mode 100644
index 00000000..b7121110
--- /dev/null
+++ b/vinca_ec4ef9dfb4.json
@@ -0,0 +1 @@
+{"packages":{},"packages.conda":{"ros-humble-octomap-1.9.8-h0dc7051_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"h0dc7051_2","build_number":2,"depends":["octomap 1.9.*"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166513413,"md5":"7d4875506c0b4178659f53aa3f065ad3","name":"ros-humble-octomap","requires":[],"size":1664,"version":"1.9.8","binstar":{"package_id":"6674a0848c7b2f8b2ca7ce6a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"424b597839c72cdeffcb1031d53003cb11b0df19af642a09de04b5eeb0ab4518"},"ros-humble-urdfdom-py-1.2.0-h0dc7051_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"h0dc7051_2","build_number":2,"depends":["urdfdom-py ==1.2.0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166513614,"md5":"1ac333a8f42e7c4720cff199a286aa44","name":"ros-humble-urdfdom-py","requires":[],"size":1659,"version":"1.2.0","binstar":{"package_id":"6674a08584d8e3c9b344de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"78dec0c16443df771e417524595d9547bb7d4ce4f72ac9bb380986586920a297"},"ros-jazzy-ament-package-0.16.3-np126py312hb082980_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py312hb082980_0","build_number":0,"depends":["importlib-metadata","importlib_resources","python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","setuptools","__osx >=10.14","libcxx >=17","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140494613,"md5":"8d0335acc147b73c79a6c37f6d732630","name":"ros-jazzy-ament-package","requires":[],"size":41334,"version":"0.16.3","binstar":{"package_id":"6674a0880ec0a9de7a21416c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6c2e2b0450f05fa6c45c81a08a647d7e42fed792cd592e887b703b35ad571f3f"},"ros-jazzy-ament-package-0.16.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["importlib-metadata","importlib_resources","python","ros2-distro-mutex 0.6.* jazzy_*","setuptools","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735901806758,"md5":"6c44ba9b7ee7ed4310822474474cca77","name":"ros-jazzy-ament-package","requires":[],"size":43024,"version":"0.16.3","binstar":{"package_id":"6674a0880ec0a9de7a21416c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8773cf34d5266300f32cf3f2d37bdd5c804451cce19b2a11faaab37ddfc039c5"},"ros-jazzy-ament-package-0.16.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["importlib-metadata","importlib_resources","python","ros2-distro-mutex 0.6.* jazzy_*","setuptools","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736071761257,"md5":"ae59d39318c075054fe747ce7d436b5d","name":"ros-jazzy-ament-package","requires":[],"size":42994,"version":"0.16.3","binstar":{"package_id":"6674a0880ec0a9de7a21416c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c3cbb1d0dfd4738d64d04da3fba2a76a26bd81236756a8a0a4fb2cfecece6f41"},"ros2-distro-mutex-0.5.0-jazzy.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"jazzy","build_number":0,"constrains":["libboost 1.84.*","libboost-devel 1.84.*","pcl 1.14.1.*","gazebo 11.*","libpqxx 7.*"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166513147,"md5":"ffc5e0ebae3b5458d88a79e036d9e7e6","name":"ros2-distro-mutex","requires":[],"depends":[],"size":2163,"version":"0.5.0","binstar":{"package_id":"6674a08a15fc1c937921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2c6d5f8eaa9735a86b8d8f0377b6a39027818668ea2c4cb352d1d595feefae4a"},"ros2-distro-mutex-0.6.0-jazzy_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","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":"osx","timestamp":1735932355851,"md5":"25d4d2a8548c777aae6ff988d9fe0289","name":"ros2-distro-mutex","requires":[],"depends":[],"size":2401,"version":"0.6.0","binstar":{"package_id":"6674a08a15fc1c937921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bdbd0dd830a82b57170040abb9882f43f11337ba7100ede7e9d027bed91b1c25"},"ros-jazzy-ament-cmake-core-2.5.0-np126py312hb082980_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py312hb082980_0","build_number":0,"depends":["catkin_pkg","cmake","python 3.12.* *_cpython","ros-jazzy-ament-package","ros2-distro-mutex ==0.5 jazzy","__osx >=10.14","libcxx >=17","__osx >=10.14","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140571742,"md5":"da8b777e2718a2a60cba39d896275057","name":"ros-jazzy-ament-cmake-core","requires":[],"size":42097,"version":"2.5.0","binstar":{"package_id":"6674a0d7b557d1c73d6af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ddc54619a255a6cd642628f5131037cd798b3f8468bb2c84af441d0e81383520"},"ros-jazzy-ament-cmake-core-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["catkin_pkg","cmake","python","ros-jazzy-ament-package","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735901853148,"md5":"a483e81eac497e7318a226e4ec783040","name":"ros-jazzy-ament-cmake-core","requires":[],"size":43799,"version":"2.5.3","binstar":{"package_id":"6674a0d7b557d1c73d6af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7ee167f814618213f456b0cec19e089063eae44b8d9e38b112944bc9ec8cf262"},"ros-jazzy-ament-cmake-core-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["catkin_pkg","cmake","python","ros-jazzy-ament-package","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736071786163,"md5":"7e6d0b9ad8c912ff3919454de130ef91","name":"ros-jazzy-ament-cmake-core","requires":[],"size":43816,"version":"2.5.3","binstar":{"package_id":"6674a0d7b557d1c73d6af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"857d262b24ea287d26edcdeab16c5f1aed2ab7a6d624f57c542b598b064cc0c6"},"ros-jazzy-ros-environment-4.2.1-np126py312hb082980_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py312hb082980_0","build_number":0,"depends":["python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","__osx >=10.14","libcxx >=17","__osx >=10.14","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140642009,"md5":"4b65331e682fc07d8a8c11ceb50f6133","name":"ros-jazzy-ros-environment","requires":[],"size":18607,"version":"4.2.1","binstar":{"package_id":"6674a0d952b92cb4069dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"99969c6ded2b8f4600b72b577a4684fbce6623a551488dd1cf5226a169a7dba6"},"ros-jazzy-ros-environment-4.2.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735901909049,"md5":"d8f17bfb07c68032c0c657b88633ac0a","name":"ros-jazzy-ros-environment","requires":[],"size":19837,"version":"4.2.1","binstar":{"package_id":"6674a0d952b92cb4069dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b6303e3c748ee5e51035cb7bfce4a78cdda8a526b35242d5e940ae1e7f9344c8"},"ros-jazzy-ros-environment-4.2.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736071812786,"md5":"bee8b4dc2e8796818a05023577611201","name":"ros-jazzy-ros-environment","requires":[],"size":19821,"version":"4.2.1","binstar":{"package_id":"6674a0d952b92cb4069dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4c2305e4bc9f0a306e3ab470cbc680329b42357ad578f9b0a33d2d9be35f1dc1"},"ros-jazzy-ros-workspace-1.0.3-np126py312hb082980_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py312hb082980_0","build_number":0,"depends":["python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","__osx >=10.14","libcxx >=17","__osx >=10.14","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140610312,"md5":"68b2431ea483d12e75c6bc246390b197","name":"ros-jazzy-ros-workspace","requires":[],"size":32877,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec0fd5379c0638572a817d9d3e1f6d7abe4f46e264806075e4fff62e8b531a0e"},"ros-jazzy-ros-workspace-1.0.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735901881854,"md5":"8137931c9b3d1fc7889e1fc7371f72d8","name":"ros-jazzy-ros-workspace","requires":[],"size":34521,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2e6b3366a82ee426bd97981892a72bcff595f8260b89afbe5a7ffbaa3c1b661f"},"ros-jazzy-ros-workspace-1.0.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736071798976,"md5":"65defe337f0a254fdc9bc2b3e17306a5","name":"ros-jazzy-ros-workspace","requires":[],"size":34520,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"df4a4e2d535cc5c0d2c8d1cf8df38e6386fcd378264b47cde592a9627a673ca6"},"ros-jazzy-ros-workspace-1.0.3-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_3","build_number":3,"depends":["python","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1737495906354,"md5":"7a6fe88df939d3278073d593dfb1d4b2","name":"ros-jazzy-ros-workspace","requires":[],"size":35326,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b862ec62872b20735db48f4c753110f70b25a12f1479825ef02eb3fe9a7d7bce"},"ros-jazzy-iceoryx-hoofs-2.0.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902666169,"md5":"44b1c45050e08a479fb6e3723d4d02a4","name":"ros-jazzy-iceoryx-hoofs","requires":[],"size":261996,"version":"2.0.6","binstar":{"package_id":"6674a1224ef4ab0e17883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f51215146c67caddd8cf57a939152649bd84292f3531b197f182434a61c516a3"},"ros-jazzy-iceoryx-hoofs-2.0.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736071852823,"md5":"9671d9b2573611b9420b8e10cda2d195","name":"ros-jazzy-iceoryx-hoofs","requires":[],"size":262013,"version":"2.0.6","binstar":{"package_id":"6674a1224ef4ab0e17883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"65efba9e3cdf2eb4748330598bcfa78de6ddf021c9b98571c89bbb5dbd2e470f"},"ros-jazzy-urdfdom-headers-1.1.2-h0dc7051_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["urdfdom_headers ==1.1.2","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735932356535,"md5":"f98d3e30b5bb77f47bb4fe12aa571355","name":"ros-jazzy-urdfdom-headers","requires":[],"size":1859,"version":"1.1.2","binstar":{"package_id":"6674a123ff4752325d57944d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5761304ec7d946e3b258eef668a8b1e32341bf2ee7d87a1529d5789a51ff5a20"},"ros-jazzy-ament-cmake-include-directories-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902528231,"md5":"feb61cbe2a658fd005eca1a7ecf9a10b","name":"ros-jazzy-ament-cmake-include-directories","requires":[],"size":20372,"version":"2.5.3","binstar":{"package_id":"6674a1307aab843f03579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3ab027a54f17a8e699b33dca66854e35841427b744432d1fd83951c9730147d4"},"ros-jazzy-ament-cmake-include-directories-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072430255,"md5":"b0964c4f9f96ded3efd30bc3cb3988be","name":"ros-jazzy-ament-cmake-include-directories","requires":[],"size":20390,"version":"2.5.3","binstar":{"package_id":"6674a1307aab843f03579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a839b1453309fcd5f8f82967cd7d752d013970bcb6856df1bf8fd21435c27c46"},"ros-jazzy-ament-cmake-export-definitions-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903041124,"md5":"67bbb63dad2c410cc2dfd062d294a09b","name":"ros-jazzy-ament-cmake-export-definitions","requires":[],"size":20510,"version":"2.5.3","binstar":{"package_id":"6674a13266b718689c44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4a86f0135388a335404033aee6c37e9f1e881b153dace95508140548403fb851"},"ros-jazzy-ament-cmake-export-definitions-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072417424,"md5":"9b03f85c0b5e979426330b0449945674","name":"ros-jazzy-ament-cmake-export-definitions","requires":[],"size":20503,"version":"2.5.3","binstar":{"package_id":"6674a13266b718689c44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3a0aa3707050197a07c1f5dd9f4a8613b7d6663a8dabb4082a41a3fe7e366d5e"},"ros-jazzy-ament-cmake-libraries-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902516765,"md5":"3dec875c965f02df3ec48d48abff1163","name":"ros-jazzy-ament-cmake-libraries","requires":[],"size":20059,"version":"2.5.3","binstar":{"package_id":"6674a133bf586e21d26af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"11857b4b2abe0ea82300d6dc8fa170909e5e9d817442df856147fb9f519956bd"},"ros-jazzy-ament-cmake-libraries-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072419799,"md5":"f869415c6e1d9956b924ffe12752fb6a","name":"ros-jazzy-ament-cmake-libraries","requires":[],"size":20089,"version":"2.5.3","binstar":{"package_id":"6674a133bf586e21d26af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f9297390e6e2a01058a91a6e12e37816fb3f170dae7ba446f49a84db0c6e77ca"},"ros-jazzy-ament-cmake-export-include-directories-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903021397,"md5":"28b3c9a8a81fd3bdd85ed40a7faadd2c","name":"ros-jazzy-ament-cmake-export-include-directories","requires":[],"size":20920,"version":"2.5.3","binstar":{"package_id":"6674a1348eba59d71d44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46e8972e890d69b0da64b31d4217eb38f4150591c118543ac7d1145e109cd390"},"ros-jazzy-ament-cmake-export-include-directories-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072407330,"md5":"949025d3c05400e375f4322eaab66189","name":"ros-jazzy-ament-cmake-export-include-directories","requires":[],"size":20906,"version":"2.5.3","binstar":{"package_id":"6674a1348eba59d71d44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c1d587c67c3f872ff981acfd9800b0149d35f916b4a55d42fdbacddcff34b072"},"ros-jazzy-ament-cmake-python-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902482637,"md5":"28241f38a63d0fd69b722cb75d0571ae","name":"ros-jazzy-ament-cmake-python","requires":[],"size":22643,"version":"2.5.3","binstar":{"package_id":"6674a134fda12eef0045c4f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0f6e85bc27a48921e493ff3ea568727fc701abdea9272c9e54978ac71904e69c"},"ros-jazzy-ament-cmake-python-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072394847,"md5":"40bd2a20948321fed7146ba39c2fa031","name":"ros-jazzy-ament-cmake-python","requires":[],"size":22647,"version":"2.5.3","binstar":{"package_id":"6674a134fda12eef0045c4f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bf12f87a070e737fd380b53c6fafef30a40c3d54ade3abd1e605e7a08174ea3d"},"ros-jazzy-ament-cmake-export-libraries-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902940799,"md5":"e3cbf62fa17af1ff98dd2a6045ce1ac5","name":"ros-jazzy-ament-cmake-export-libraries","requires":[],"size":22456,"version":"2.5.3","binstar":{"package_id":"6674a135751ba5b24b21416e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eff505c9bbf987d74dc677d7f38d48d110e42e74277075910f97f1f71a42eb8c"},"ros-jazzy-ament-cmake-export-libraries-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072361545,"md5":"0faf140b7b9075f4fa4374412b86265e","name":"ros-jazzy-ament-cmake-export-libraries","requires":[],"size":22466,"version":"2.5.3","binstar":{"package_id":"6674a135751ba5b24b21416e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"890e56cb604131a8249cdcdbfe4fb513dc0ef5d563aa7851454ca71f8ae58da3"},"ros-jazzy-ament-lint-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902435772,"md5":"8dccf86a468c47b720a02a0df11cef39","name":"ros-jazzy-ament-lint","requires":[],"size":16848,"version":"0.17.1","binstar":{"package_id":"6674a1357f5cc3d27f45c4f6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a9743b9c554c28656a788c1ebf13d69244ab7f79ef5b56ffaab60c1c23f3872d"},"ros-jazzy-ament-lint-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072362001,"md5":"99186173be486ed36d76f799af1609af","name":"ros-jazzy-ament-lint","requires":[],"size":16854,"version":"0.17.1","binstar":{"package_id":"6674a1357f5cc3d27f45c4f6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"88322314b7df4ffd691daf21759d81665165dbd6687df84d56ffb646ccb9624e"},"ros-jazzy-gtest-vendor-1.14.9000-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902502815,"md5":"49f2a544dc925871c73e59c2f8156f94","name":"ros-jazzy-gtest-vendor","requires":[],"size":207986,"version":"1.14.9000","binstar":{"package_id":"6674a136b5589307ae1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"671628ba00422d673cc2d39bca8b9b23f0b833a81e0e244f5d7c0d07d0e2b473"},"ros-jazzy-gtest-vendor-1.14.9000-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072409488,"md5":"0cc776c31c99d00300c2bec0ffe3866c","name":"ros-jazzy-gtest-vendor","requires":[],"size":207984,"version":"1.14.9000","binstar":{"package_id":"6674a136b5589307ae1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e8203be50dac6e6dceb4cff828c7645f5eca764ebaecaaad5188f43f7d4099e4"},"ros-jazzy-ament-cmake-export-link-flags-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903002364,"md5":"d73fbfe9e4418768c0dade332b288ab4","name":"ros-jazzy-ament-cmake-export-link-flags","requires":[],"size":20452,"version":"2.5.3","binstar":{"package_id":"6674a137a34cc3f166a7ce6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8d2add4441cf677a777549e4010c7db2251f95b741b74d9f6d73120e371b1ad5"},"ros-jazzy-ament-cmake-export-link-flags-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072397138,"md5":"95b7ac3dcf822a878e3d8afc594fab84","name":"ros-jazzy-ament-cmake-export-link-flags","requires":[],"size":20478,"version":"2.5.3","binstar":{"package_id":"6674a137a34cc3f166a7ce6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"59e4ba9a896cae6f881e53b21069cd0071b242fae06a0f840f792e36d2214ead"},"ros-jazzy-ament-cmake-version-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902983053,"md5":"b6c459d243c8c3cea2f0cd60bc37fd41","name":"ros-jazzy-ament-cmake-version","requires":[],"size":20247,"version":"2.5.3","binstar":{"package_id":"6674a13adbc9a5ddb5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"971106bd30500fc24f54799348e7f56e6568eae7d6adf824ee6f87ff143dfaf9"},"ros-jazzy-ament-cmake-version-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072387182,"md5":"ec78dbf3c88e4f588b66ff9f9bd6ca57","name":"ros-jazzy-ament-cmake-version","requires":[],"size":20233,"version":"2.5.3","binstar":{"package_id":"6674a13adbc9a5ddb5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3a5828fa68d4138e725c1416fef49d5809c1ac693c84fc92708d0028c9497f35"},"ros-jazzy-ament-pycodestyle-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["pycodestyle","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902278860,"md5":"72fb1a4c88e06b551aaf15c232c29457","name":"ros-jazzy-ament-pycodestyle","requires":[],"size":22237,"version":"0.17.1","binstar":{"package_id":"6674a143f1e91f8ddc6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf5d2dabeefed060ec2d62f66f613a1b8e1bb6478e33ed1196829d82d10bdb76"},"ros-jazzy-ament-pycodestyle-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pycodestyle","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072207257,"md5":"31c9283e4464ce5b99dbb4e0299d86bb","name":"ros-jazzy-ament-pycodestyle","requires":[],"size":22258,"version":"0.17.1","binstar":{"package_id":"6674a143f1e91f8ddc6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"27f64a08189f15a7fa33a71420310d67494654b25927819c711fc0d38a12a10d"},"ros-jazzy-google-benchmark-vendor-0.5.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["benchmark","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902323382,"md5":"b5dd3658c5781f39fcb34c52dfd098a6","name":"ros-jazzy-google-benchmark-vendor","requires":[],"size":15359,"version":"0.5.0","binstar":{"package_id":"6674a145d25c322a2e1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5af1d1224afc8ef10f614417474c0691a59b724532b9c4e0556b47f2b0f4db56"},"ros-jazzy-google-benchmark-vendor-0.5.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["benchmark","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072261003,"md5":"15e3feafab38c36c84c6d2dbedba5e0a","name":"ros-jazzy-google-benchmark-vendor","requires":[],"size":15377,"version":"0.5.0","binstar":{"package_id":"6674a145d25c322a2e1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"add994dfc8fa185768d27d273efff88cb76bb73fefb044de4c27119d7b30b6ac"},"ros-jazzy-osrf-pycommon-2.1.5-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735902310489,"md5":"3673f1c952c65a9c5336f0073f278c00","name":"ros-jazzy-osrf-pycommon","requires":[],"size":65166,"version":"2.1.5","binstar":{"package_id":"6674a14ad8010e9cee1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2209af33240e4232880b08b1f2fb569eaceea6f811bcf07abd2d71e7d41db08e"},"ros-jazzy-osrf-pycommon-2.1.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072245676,"md5":"202d7940773391992fc5152deaa44e06","name":"ros-jazzy-osrf-pycommon","requires":[],"size":65214,"version":"2.1.5","binstar":{"package_id":"6674a14ad8010e9cee1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1fbed8419d4e79c3ae59bd2178ad11bbf0bed8f8f03ea05c6b4e44bf4f9a0b5d"},"ros-jazzy-osrf-testing-tools-cpp-2.0.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902337927,"md5":"b37d1e782bd21c982b6e326c8e7e0a36","name":"ros-jazzy-osrf-testing-tools-cpp","requires":[],"size":5122998,"version":"2.0.0","binstar":{"package_id":"6674a14c1aea3d65a045c4f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3d7b48e77b205296b80fb205c24bc756697b02838e4b17b2d3e2af44b9362f36"},"ros-jazzy-osrf-testing-tools-cpp-2.0.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072275472,"md5":"88a00ea52e2fc779bb2a6bba9934c883","name":"ros-jazzy-osrf-testing-tools-cpp","requires":[],"size":5123013,"version":"2.0.0","binstar":{"package_id":"6674a14c1aea3d65a045c4f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9eddaa7edbc1fc08214de2ee7f816f1992268658333444eefbaa71b45f00282a"},"ros-jazzy-test-interface-files-0.11.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902377034,"md5":"ae163fc8acc2ff704f801bb436738454","name":"ros-jazzy-test-interface-files","requires":[],"size":22337,"version":"0.11.0","binstar":{"package_id":"6674a14e3ca8a6ae9e883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9aa8592dd47ccda698a4b70b9a20d529d6db5a806d125fc87276f56ac5d6f569"},"ros-jazzy-test-interface-files-0.11.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072315294,"md5":"fc91b95a6ae35e88ee4db0d38dd63cab","name":"ros-jazzy-test-interface-files","requires":[],"size":22362,"version":"0.11.0","binstar":{"package_id":"6674a14e3ca8a6ae9e883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e7244981401597d96ab17525f6e17cf715b65a1d699a4051a8ce4dcee54973b5"},"ros-jazzy-ament-cmake-export-dependencies-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903548269,"md5":"089f524ee007a7cd5c07f0986a102800","name":"ros-jazzy-ament-cmake-export-dependencies","requires":[],"size":21434,"version":"2.5.3","binstar":{"package_id":"6674a1a7d6a022a9b921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d8218084c5d03318cb8acae395e46bec01c5e11757d22ad38b9505306cf8d5ab"},"ros-jazzy-ament-cmake-export-dependencies-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072522689,"md5":"eec397e40392148218edf29bde6f3547","name":"ros-jazzy-ament-cmake-export-dependencies","requires":[],"size":21428,"version":"2.5.3","binstar":{"package_id":"6674a1a7d6a022a9b921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"19667b24e4d6836a775625844676785b11558ce107d2f99d6a2423e5ecc7fe80"},"ros-jazzy-ament-cmake-export-targets-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903575767,"md5":"39a9ce509d1e32888f274dbe308f0d37","name":"ros-jazzy-ament-cmake-export-targets","requires":[],"size":21268,"version":"2.5.3","binstar":{"package_id":"6674a1a8c42c2ed11157944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc58a3092faed3dd46f41438b97c5950c7a2e52e4535da3911c799049cbc9ed9"},"ros-jazzy-ament-cmake-export-targets-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072558307,"md5":"55e631d92fd56553949954c296e39b7a","name":"ros-jazzy-ament-cmake-export-targets","requires":[],"size":21270,"version":"2.5.3","binstar":{"package_id":"6674a1a8c42c2ed11157944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"420eff5231769034fb2add85f570fd57813be02612e49087a8b78f906dc64c55"},"ros-jazzy-ament-cmake-target-dependencies-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903561380,"md5":"05342bd1f27a4c3a5a279cd427ea6888","name":"ros-jazzy-ament-cmake-target-dependencies","requires":[],"size":22084,"version":"2.5.3","binstar":{"package_id":"6674a1a9b557d1c73d6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"29938bc343ae249243c7616ffaa21f692d58501d89fac3b54eb9b18b6784f44f"},"ros-jazzy-ament-cmake-target-dependencies-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072540407,"md5":"76bed72caad266a0e9a2ff552dc95943","name":"ros-jazzy-ament-cmake-target-dependencies","requires":[],"size":22055,"version":"2.5.3","binstar":{"package_id":"6674a1a9b557d1c73d6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6a33db28ca401ff3596a09333946a2b93c8dd1f40356b23ede7a7a9eb88859dd"},"ros-jazzy-ament-cmake-test-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903530347,"md5":"b3774e68d6ab43b1556da7022023fc49","name":"ros-jazzy-ament-cmake-test","requires":[],"size":35292,"version":"2.5.3","binstar":{"package_id":"6674a1aa83e518de36a7ce6c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"374c7e088f76ac820c620822d91212362ab7e78b379d455414c00421c78c4368"},"ros-jazzy-ament-cmake-test-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072503378,"md5":"46c1b9809d9c7d52f10286fbb2a7e8d5","name":"ros-jazzy-ament-cmake-test","requires":[],"size":35308,"version":"2.5.3","binstar":{"package_id":"6674a1aa83e518de36a7ce6c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e65aeba2c67fc8e6bc932e959c7db60a2bdf021a7c8dada868f1763aad919e1e"},"ros-jazzy-ament-flake8-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903496240,"md5":"b0184b485570e5af9a916f485031eda0","name":"ros-jazzy-ament-flake8","requires":[],"size":28320,"version":"0.17.1","binstar":{"package_id":"6674a1ac189b62b6cff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"272de76b07313d9f4d9b90eb7fc1c97133e3ac044e5ad37cea32edb3c2968a6c"},"ros-jazzy-ament-flake8-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072467218,"md5":"4d0cb4a71ea6863d23c4ec32992080d3","name":"ros-jazzy-ament-flake8","requires":[],"size":28310,"version":"0.17.1","binstar":{"package_id":"6674a1ac189b62b6cff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"931d4c6923348b1e676ca35e97f949fd6f959537dfcf00f3c83cfcab4f5dfc40"},"ros-jazzy-ament-cmake-export-interfaces-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903174219,"md5":"b1fa1b2cdff031d20261c4739db7285e","name":"ros-jazzy-ament-cmake-export-interfaces","requires":[],"size":21127,"version":"2.5.3","binstar":{"package_id":"6674a1c372cb57ea62f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1dca14364e06a56059226a1ffd108920c4c468fede6fa826a32c823c018c51cb"},"ros-jazzy-ament-cmake-export-interfaces-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072466046,"md5":"add2b44d6ec8cf4b7957bfc45975a57f","name":"ros-jazzy-ament-cmake-export-interfaces","requires":[],"size":21119,"version":"2.5.3","binstar":{"package_id":"6674a1c372cb57ea62f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"321d2bc7ea220825c2bc2c9e0baf873d318e27f5129afc5ed50cc5ba47426210"},"ros-jazzy-gmock-vendor-1.14.9000-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903221160,"md5":"f9e4daeed29b88df477fe88c83b98029","name":"ros-jazzy-gmock-vendor","requires":[],"size":121641,"version":"1.14.9000","binstar":{"package_id":"6674a1c589a9c37693883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b71346efd25af72737ac471d08a073e2bf26025dffdf64dec92fe81c33aa1523"},"ros-jazzy-gmock-vendor-1.14.9000-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072498135,"md5":"3e0e55d5fda358453b315f48cf49509a","name":"ros-jazzy-gmock-vendor","requires":[],"size":121697,"version":"1.14.9000","binstar":{"package_id":"6674a1c589a9c37693883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0971cd840563e7ad6374be6fc11175f56c4278a19c44d564427870191210efa2"},"ros-jazzy-iceoryx-posh-2.0.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-iceoryx-hoofs","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903236777,"md5":"6dc583649affb9dc8bf0bba2ca2cca37","name":"ros-jazzy-iceoryx-posh","requires":[],"size":455218,"version":"2.0.6","binstar":{"package_id":"6674a1c772ad0f0ae5a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c61dad61fad34fdebce8ce88f5cee61e55e9f15c69dca5b75ce7466bfde0f0c3"},"ros-jazzy-iceoryx-posh-2.0.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-iceoryx-hoofs","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072510410,"md5":"c2a0a4b6942dee016ecab9a617edd5dd","name":"ros-jazzy-iceoryx-posh","requires":[],"size":455243,"version":"2.0.6","binstar":{"package_id":"6674a1c772ad0f0ae5a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8fe61a2bdbd6c356f03095f2b5d1f66ccdc2aaf5c4e1b75d5bc441840cbb0770"},"ros-jazzy-ament-cmake-google-benchmark-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904016736,"md5":"a45267f8d1bfe52e265fa6853fc3bb79","name":"ros-jazzy-ament-cmake-google-benchmark","requires":[],"size":30309,"version":"2.5.3","binstar":{"package_id":"6674a213aba19321c6f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b9f5a66b7f30b8f787cdba6d12ff6788a1d296576350804234988c4ffa93c9d2"},"ros-jazzy-ament-cmake-google-benchmark-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-google-benchmark-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072699429,"md5":"3b88d6af4dcbe7ba76c1cfa6d3213f27","name":"ros-jazzy-ament-cmake-google-benchmark","requires":[],"size":30316,"version":"2.5.3","binstar":{"package_id":"6674a213aba19321c6f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe96b63a2008e80532eec56a363c22ea4dd45ac4da7b185615d7e7af399593b1"},"ros-jazzy-ament-cmake-pytest-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903983023,"md5":"b86395878f6577f8f69539639b22b2e2","name":"ros-jazzy-ament-cmake-pytest","requires":[],"size":23123,"version":"2.5.3","binstar":{"package_id":"6674a21417bbcfe6d5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9678f58d9cc9d1a062d35a43048c02359b5c763cf7abe972ab1c2a6ae8739155"},"ros-jazzy-ament-cmake-pytest-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pytest","python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072670624,"md5":"ff1362422f0223ea236323e8db7e75fe","name":"ros-jazzy-ament-cmake-pytest","requires":[],"size":23142,"version":"2.5.3","binstar":{"package_id":"6674a21417bbcfe6d5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f294bbb2c392fa71477debd51244d46cbaba3926c0e33e5490382703a4f57ad5"},"ros-jazzy-iceoryx-binding-c-2.0.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904029141,"md5":"1fab43dec94e4d8dae9701f5bb295b8c","name":"ros-jazzy-iceoryx-binding-c","requires":[],"size":80674,"version":"2.0.6","binstar":{"package_id":"6674a21572cb57ea62f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"76e7129b023f2f4f4ccb9685848df4d2a322498bf4b42238ccce9a87c4cf3cca"},"ros-jazzy-iceoryx-binding-c-2.0.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072711763,"md5":"017336dbe21cf807dcd78939960ea573","name":"ros-jazzy-iceoryx-binding-c","requires":[],"size":80692,"version":"2.0.6","binstar":{"package_id":"6674a21572cb57ea62f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0d367357f4881dbad3a74447201e79e25df2dfc998bcdeaf7ecee026a7214362"},"ros-jazzy-ament-cmake-gtest-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","gtest >=1.15.2,<1.15.3.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735903968063,"md5":"d8a7fb57764be89d03ded4c3f1baf737","name":"ros-jazzy-ament-cmake-gtest","requires":[],"size":23103,"version":"2.5.3","binstar":{"package_id":"6674a21d86c5f0ddff44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f5b5608d345f63243271c79ca2541caf3562c38c71177462c29a1d834ef5b13"},"ros-jazzy-ament-cmake-gtest-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["gtest","python","ros-jazzy-ament-cmake-test","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","gtest >=1.15.2,<1.15.3.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736072701299,"md5":"b08670f8e7275abb2c920cc9ccfb53f5","name":"ros-jazzy-ament-cmake-gtest","requires":[],"size":23124,"version":"2.5.3","binstar":{"package_id":"6674a21d86c5f0ddff44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2731d19a55035054f8bae51f9eef7a87bce9d46d232c89f45e83743d172643a4"},"ros-jazzy-ament-cmake-vendor-package-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735903985995,"md5":"6f5c242baaa5e71ec61d636cb2991c52","name":"ros-jazzy-ament-cmake-vendor-package","requires":[],"size":26418,"version":"2.5.3","binstar":{"package_id":"6674a21ede26c9d519883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fba9249b5fbd4259691c318a6c92efff6075ed1e00f6543000de2a226775aad9"},"ros-jazzy-ament-cmake-vendor-package-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072717221,"md5":"2aa43c03665ede6eedb33a94f1500dd1","name":"ros-jazzy-ament-cmake-vendor-package","requires":[],"size":26436,"version":"2.5.3","binstar":{"package_id":"6674a21ede26c9d519883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7bf34d15799e35aa363d103e7ad723e338b3d0663e4aecc35e38532c5b1ecba1"},"ros-jazzy-ament-lint-auto-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904017253,"md5":"33001569be29f95c1bbd838203756cdd","name":"ros-jazzy-ament-lint-auto","requires":[],"size":20465,"version":"0.17.1","binstar":{"package_id":"6674a21f52b92cb4069dbd2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7494f90c78062000a0649710cf8502cadcd8b6794defe3d10328af48b663a5da"},"ros-jazzy-ament-lint-auto-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072741296,"md5":"6771d30812159d5c7ce90f670493ee3d","name":"ros-jazzy-ament-lint-auto","requires":[],"size":20480,"version":"0.17.1","binstar":{"package_id":"6674a21f52b92cb4069dbd2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1020304160f6ab299eb540af6a77d45319769aa8bbf8162ae8de3bb64b1fa6b2"},"ros-jazzy-ament-mypy-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["mypy","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904002949,"md5":"a4cc2fb04f4cab659d77f6cd45a06684","name":"ros-jazzy-ament-mypy","requires":[],"size":26592,"version":"0.17.1","binstar":{"package_id":"6674a2204161a5e24dc62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24f146a8f61893bdc93a1db500b02ecace34802ce647062942bdfcf6bc15f840"},"ros-jazzy-ament-mypy-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["mypy","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072729041,"md5":"f633443ce205fb8fffaa8736955d4ce6","name":"ros-jazzy-ament-mypy","requires":[],"size":26576,"version":"0.17.1","binstar":{"package_id":"6674a2204161a5e24dc62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8d2257e8d3c99f274c3ceb792a71861505ad736b44c6dcc4c8c2bdff231fe563"},"ros-jazzy-ament-pep257-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["pydocstyle","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735903932101,"md5":"1fe7237a586c898c7a8612416bd52826","name":"ros-jazzy-ament-pep257","requires":[],"size":26593,"version":"0.17.1","binstar":{"package_id":"6674a221de26c9d519883dda","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"31b421819703869c3ed2a3d2720a9928fe351d0c8e302ffbd2d67d2120479b80"},"ros-jazzy-ament-pep257-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pydocstyle","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072670017,"md5":"84e644b8f59dee45ce36dc117c1e0206","name":"ros-jazzy-ament-pep257","requires":[],"size":26592,"version":"0.17.1","binstar":{"package_id":"6674a221de26c9d519883dda","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5c7969429725dc39612b734007afb5304f5900947a837d9c0cb68c8fe44128e7"},"ros-jazzy-ament-cmake-gen-version-h-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904256602,"md5":"1ea6647951edf90db04d06328f06b074","name":"ros-jazzy-ament-cmake-gen-version-h","requires":[],"size":23234,"version":"2.5.3","binstar":{"package_id":"6674a28d7eb3630506c62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"47670af27cfeb804e6acedb453f8a9d67c62af1ea38ccbf716f04f5c6302f3b3"},"ros-jazzy-ament-cmake-gen-version-h-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072813506,"md5":"fdf80a6375de3e3446a26f2f43225104","name":"ros-jazzy-ament-cmake-gen-version-h","requires":[],"size":23246,"version":"2.5.3","binstar":{"package_id":"6674a28d7eb3630506c62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"48046416a8529d1e8087b8c6ab0dceb30317c68f2c4296411cd9468e79b8c45b"},"ros-jazzy-ament-cmake-gmock-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904279616,"md5":"1884add5942494d20b17c1fa88b396b7","name":"ros-jazzy-ament-cmake-gmock","requires":[],"size":23374,"version":"2.5.3","binstar":{"package_id":"6674a290c650598af657944a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"29620c84fa56ac741d6b631e6ad4a7d6c53d1be3eff91bbf8b0415c3a76634b1"},"ros-jazzy-ament-cmake-gmock-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736072833109,"md5":"774c40db084128a7e695ff73970274d2","name":"ros-jazzy-ament-cmake-gmock","requires":[],"size":23372,"version":"2.5.3","binstar":{"package_id":"6674a290c650598af657944a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"201dd1c97435e69b3acd52afe0270bd8ccb47c376317c8c1894fbc54fb588ee8"},"ros-jazzy-ament-copyright-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["importlib-metadata","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904213905,"md5":"b91e214f41e393566f7436da00feab9a","name":"ros-jazzy-ament-copyright","requires":[],"size":67249,"version":"0.17.1","binstar":{"package_id":"6674a291a2d10e383ff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"75cebb4af385a9e1a3b458e928b5bd30a4df47c23016b173b79ea756a22e4624"},"ros-jazzy-ament-copyright-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["importlib-metadata","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072780839,"md5":"c25083a9a3faf279f95a61478c52b04d","name":"ros-jazzy-ament-copyright","requires":[],"size":67292,"version":"0.17.1","binstar":{"package_id":"6674a291a2d10e383ff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3362d4f609b01a63345d4505440379339e8e9613f3f86132f86a55fa163909d3"},"ros-jazzy-cyclonedds-0.10.5-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","openssl >=3.4.0,<4.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735904294151,"md5":"c9f8885524c9da62e6cddf1301b26793","name":"ros-jazzy-cyclonedds","requires":[],"size":1129025,"version":"0.10.5","binstar":{"package_id":"6674a293cc5a7c2475f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a3f0825b04feac6aa593df15d20ae74b1ef22693d601da1dcf43c0fdfd4cac72"},"ros-jazzy-cyclonedds-0.10.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","openssl >=3.4.0,<4.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736072844865,"md5":"ea626b0618ae12babdbe889d31c3d696","name":"ros-jazzy-cyclonedds","requires":[],"size":1128980,"version":"0.10.5","binstar":{"package_id":"6674a293cc5a7c2475f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"01b618a7183760aa209540d54c57070c9242afed3066a3336843387ab18e9831"},"ros-jazzy-ament-clang-format-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["clang-format","python","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904427479,"md5":"1146600cf44392416b3d53c7105742a2","name":"ros-jazzy-ament-clang-format","requires":[],"size":30260,"version":"0.17.1","binstar":{"package_id":"6674a2dcee500a2b2d1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c6f1c03a506ca2726f9c8619f24dc74a416496c768023938e5155feacee3511a"},"ros-jazzy-ament-clang-format-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["clang-format","python","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072975939,"md5":"44b2bd686270bd294277ad23e7336bef","name":"ros-jazzy-ament-clang-format","requires":[],"size":30298,"version":"0.17.1","binstar":{"package_id":"6674a2dcee500a2b2d1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3765b9150902f1bfe29d9ce5379576ab658cdc10b31897ce8ab8a16476bd18c7"},"ros-jazzy-ament-index-python-1.8.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904384952,"md5":"33aed84763a82641638afa946c38729e","name":"ros-jazzy-ament-index-python","requires":[],"size":29351,"version":"1.8.1","binstar":{"package_id":"6674a2de3ebd9bb417c12e4b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"31755c21ffff88a1c614c2ec0e9563e320717e59d7c016cf7d8de1ce7b2c72dc"},"ros-jazzy-ament-index-python-1.8.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072931575,"md5":"981a1f4a75fd87a473e0b6dea074d069","name":"ros-jazzy-ament-index-python","requires":[],"size":29324,"version":"1.8.1","binstar":{"package_id":"6674a2de3ebd9bb417c12e4b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c1ee5ddeadd7c216c5758948668f40ba1598fd4a39bf31ac1a42545eab2942e8"},"ros-jazzy-domain-coordinator-0.12.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904414625,"md5":"45824f8de62ac1ebf1727c91961ce93d","name":"ros-jazzy-domain-coordinator","requires":[],"size":20360,"version":"0.12.0","binstar":{"package_id":"6674a2df1940d61b8344de70","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d0152300d0547649817184e71cde52ea5a7822aee4c5d6cd79744819aa6751a0"},"ros-jazzy-domain-coordinator-0.12.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072962849,"md5":"859b33ccedb85436bdfaa54db772b736","name":"ros-jazzy-domain-coordinator","requires":[],"size":20371,"version":"0.12.0","binstar":{"package_id":"6674a2df1940d61b8344de70","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1c2bb5355b4e5e71cd7661618ae2e263758ec2d08770add248e657a97f7d5861"},"ros-jazzy-ament-cmake-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904413545,"md5":"f3967bb66d23d72bda63df3b39a7e9b2","name":"ros-jazzy-ament-cmake","requires":[],"size":21647,"version":"2.5.3","binstar":{"package_id":"6674a2eda2d10e383ff4ab9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"879800be58bd6b9d1fe9e84eb67b3bb0ff80e5d0f66097c61c3ad719c079b9b1"},"ros-jazzy-ament-cmake-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072966008,"md5":"0d0f6b98ba8f93a416709d74de3b0a1f","name":"ros-jazzy-ament-cmake","requires":[],"size":21658,"version":"2.5.3","binstar":{"package_id":"6674a2eda2d10e383ff4ab9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7bf61712c222163df837eab24d4364d10f11e70739b48fe5f98fc9839bcdfe19"},"ros-jazzy-ament-cppcheck-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["cppcheck","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904453956,"md5":"ccd02f76b244f3ebb219025aa80aa8fd","name":"ros-jazzy-ament-cppcheck","requires":[],"size":29603,"version":"0.17.1","binstar":{"package_id":"6674a2ee7aab843f03579451","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"872c74495b2f64463e4048cf5e4acaebcdfec5fbbbda6d26c4ae15d9a4cc6f45"},"ros-jazzy-ament-cppcheck-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["cppcheck","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073006700,"md5":"5dad6b38f95d4aa11d0a16947b3f5a00","name":"ros-jazzy-ament-cppcheck","requires":[],"size":29665,"version":"0.17.1","binstar":{"package_id":"6674a2ee7aab843f03579451","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb006b33d12a45723dfc95bc6bafdea3973c1288d5b1611cbe469316174c8249"},"ros-jazzy-ament-cpplint-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904441623,"md5":"e4f052a60ee8e49e969ef003e313e7b5","name":"ros-jazzy-ament-cpplint","requires":[],"size":175937,"version":"0.17.1","binstar":{"package_id":"6674a2eff3b3829c06f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bef8aea6db7343b4f095ac9bc155654f03ea14112327dd9a0dc568dee7447dc6"},"ros-jazzy-ament-cpplint-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072994092,"md5":"89f8148f9f8b32ce8bad9bedaeba3cfc","name":"ros-jazzy-ament-cpplint","requires":[],"size":175974,"version":"0.17.1","binstar":{"package_id":"6674a2eff3b3829c06f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"56055a93db1680b33d6c40103acb8108e671256ab54f342b8c654aff11b1c948"},"ros-jazzy-ament-lint-cmake-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904382887,"md5":"8c88265f085a3c6dee467e8ed355cc7f","name":"ros-jazzy-ament-lint-cmake","requires":[],"size":39911,"version":"0.17.1","binstar":{"package_id":"6674a2f1e9156fea239d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7d155b412e7baf6f47858d37cee1f2a82a86d757f60a5e0e53bf2b72e3b12bcc"},"ros-jazzy-ament-lint-cmake-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072930997,"md5":"5d317f4889594ec56ef070ad179c0041","name":"ros-jazzy-ament-lint-cmake","requires":[],"size":39938,"version":"0.17.1","binstar":{"package_id":"6674a2f1e9156fea239d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0600f75cbd1eba1e5cdeef622c1d0dc471af39a80f84c0481cc6a402ccd06742"},"ros-jazzy-ament-xmllint-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["libxml2","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904429253,"md5":"821afb338b19207849c04a31ea79ae43","name":"ros-jazzy-ament-xmllint","requires":[],"size":27739,"version":"0.17.1","binstar":{"package_id":"6674a2f2c88619e4bd9d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e3f05c279291605cfebdd9fcf4f2bba63f931df30df6084cf2475df5d5deb6f2"},"ros-jazzy-ament-xmllint-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["libxml2","python","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736072981172,"md5":"979c6b542ac157d854aa427f2a990517","name":"ros-jazzy-ament-xmllint","requires":[],"size":27736,"version":"0.17.1","binstar":{"package_id":"6674a2f2c88619e4bd9d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"510cbabac666aa36ebb2a47c9a2f2c61f58f446eb8fa1641a6e969f0a4fe5eba"},"ros-jazzy-pybind11-vendor-3.1.2-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["pybind11","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904636647,"md5":"22f5d57c24e2c44ed7433aeb9ad1a00a","name":"ros-jazzy-pybind11-vendor","requires":[],"size":21544,"version":"3.1.2","binstar":{"package_id":"6674a343ea2199b4dff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c39479bc207e13376b9a89f5bb5e179b43aaa21e42c49bf17d5367ee9b07532f"},"ros-jazzy-pybind11-vendor-3.1.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pybind11","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073436535,"md5":"1f53307fe773e503f8452a9f738e18f9","name":"ros-jazzy-pybind11-vendor","requires":[],"size":21540,"version":"3.1.2","binstar":{"package_id":"6674a343ea2199b4dff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c41bb6d3fdd73199bfd2506441aa40a03d6ab78c3e4007753f61c608ffcce331"},"ros-jazzy-rpyutils-0.4.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904605599,"md5":"1edea5cb5f6b19731b306664581b5de5","name":"ros-jazzy-rpyutils","requires":[],"size":25405,"version":"0.4.1","binstar":{"package_id":"6674a3449d4c1e9d4f44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"73f43e92b4faa2d4a47c9a0de4d0cceb1a5811f21ec3ec36c5d91b5d0b994b9f"},"ros-jazzy-rpyutils-0.4.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073402340,"md5":"fa971a877fb76758b2644cc1c367ecb5","name":"ros-jazzy-rpyutils","requires":[],"size":25417,"version":"0.4.1","binstar":{"package_id":"6674a3449d4c1e9d4f44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"941adf573880ec80ccd18f396fe4eef258b9ae4b83edfc641ee0ac8d76a6a7b6"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","tinyxml2 >=10.0.0,<11.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735904654370,"md5":"c2c141c7211bf9210e494d4b52519ac2","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":22362,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a083cf589fcd08ef9c1186441ae9b9c43e9467cb0fa41a81d37a94740ca73cf2"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736073453237,"md5":"0c842d33a789d2bbf3cce85181845477","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":22355,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d9fce528191094844b2e4bd3b37f409292a1b3b3bf22b4532efc1606251b8883"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_3","build_number":3,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","__osx >=10.14","libcxx >=18","__osx >=10.13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442208616,"md5":"f044a36dcb6be4e759c41ef027890945","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":23040,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e645264cc7a2bea863afc2a4d6110b987331e4cdd58c037aeb2a391c01cee021"},"ros-jazzy-ament-cmake-auto-2.5.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735905057732,"md5":"1019bfcd18921242bdb0992b690879ba","name":"ros-jazzy-ament-cmake-auto","requires":[],"size":25496,"version":"2.5.3","binstar":{"package_id":"6674a34992c307f5a7a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7b5533a18d82ef4f8be2aed5e065ba3bdd3ef43ae5ab9ffdfca322f87dd83c1a"},"ros-jazzy-ament-cmake-auto-2.5.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073053809,"md5":"7f55edf8875a20d973dd654dd993ee45","name":"ros-jazzy-ament-cmake-auto","requires":[],"size":25522,"version":"2.5.3","binstar":{"package_id":"6674a34992c307f5a7a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"296e8b3acaefedd228e65b1bfcecda7653816ea3648f18a8cf9b1b2dcdeab5a3"},"ros-jazzy-yaml-cpp-vendor-9.0.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml-cpp","__osx >=10.14","libcxx >=19","yaml-cpp >=0.8.0,<0.9.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":"osx","timestamp":1735904669561,"md5":"86e1de61f86aeb574ab2476925ecbb53","name":"ros-jazzy-yaml-cpp-vendor","requires":[],"size":21440,"version":"9.0.1","binstar":{"package_id":"6674a34abfe0729017c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9fdeb39caa1e53399eb77fe1dced14dc1a7df46c8c57f4d5fbca6600aabc0659"},"ros-jazzy-yaml-cpp-vendor-9.0.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml-cpp","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","yaml-cpp >=0.8.0,<0.9.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736073466723,"md5":"1e0e7d210227f96e1380353da2a2aaf2","name":"ros-jazzy-yaml-cpp-vendor","requires":[],"size":21432,"version":"9.0.1","binstar":{"package_id":"6674a34abfe0729017c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b8580272b44a4752fc685b7b7756299446e5edcabbf9e820f6a83588735fb3c5"},"ros-jazzy-liblz4-vendor-0.26.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["lz4","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904774628,"md5":"ae7936ef64022f0373561fc7b8a6605a","name":"ros-jazzy-liblz4-vendor","requires":[],"size":22412,"version":"0.26.6","binstar":{"package_id":"6674a34bb60870276744de75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b3e44d3bddbbe33816e0ea251bb179b10131b6048352d702f5759893a07c5ce1"},"ros-jazzy-liblz4-vendor-0.26.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["lz4","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073048844,"md5":"6f1bcb59aadca18df8158ab10a920b81","name":"ros-jazzy-liblz4-vendor","requires":[],"size":22410,"version":"0.26.6","binstar":{"package_id":"6674a34bb60870276744de75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7f028cdaeeadb4a7eb4d11995517dd0543d2c19e1749cc16cd7124419241fa18"},"ros-jazzy-zstd-vendor-0.26.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zstd","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","zstd >=1.5.6,<1.6.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735904684917,"md5":"47ef702a02907b0a45bfc4123b4b2851","name":"ros-jazzy-zstd-vendor","requires":[],"size":22297,"version":"0.26.6","binstar":{"package_id":"6674a34dc42c2ed11157944f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e4b4435bea9d13cc28bc5c7e8a68b1cb3085d9509f76b97407293eb1dac421e2"},"ros-jazzy-zstd-vendor-0.26.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zstd","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073480096,"md5":"9fb4191ad18f597717541464a89c867d","name":"ros-jazzy-zstd-vendor","requires":[],"size":22323,"version":"0.26.6","binstar":{"package_id":"6674a34dc42c2ed11157944f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"20e2eaff8d4b48503460a5bf56055430d755fdfda0d8b4205d65403e45ab8d34"},"ros-jazzy-sqlite3-vendor-0.26.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","libsqlite >=3.47.2,<4.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735904824578,"md5":"dd4ddc6de48d1e0b84b16e2d66c44c80","name":"ros-jazzy-sqlite3-vendor","requires":[],"size":22845,"version":"0.26.6","binstar":{"package_id":"6674a34ffce8b5e8a96af057","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8909eb891aa3c0d8e13b358c7f638dda610053f6c9f7c5260565b9220e3df36b"},"ros-jazzy-sqlite3-vendor-0.26.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libsqlite >=3.47.2,<4.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736073090515,"md5":"2cb9ebe27db7e60233406f4ac0da1cb8","name":"ros-jazzy-sqlite3-vendor","requires":[],"size":22859,"version":"0.26.6","binstar":{"package_id":"6674a34ffce8b5e8a96af057","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e6f5190636720d02e45047596b47f191e383ffa36c3f7e9d1c2476e7ae1d73c6"},"ros-jazzy-ament-cmake-lint-cmake-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904494669,"md5":"d6fbe098ed73a7087b196d88a5add0f0","name":"ros-jazzy-ament-cmake-lint-cmake","requires":[],"size":20825,"version":"0.17.1","binstar":{"package_id":"6674a379b5589307ae1922c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d5b44820b31c85d649313b12b2f115d9e21e81539f25bf61dd9e4615cc35ac20"},"ros-jazzy-ament-cmake-lint-cmake-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-lint-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073188433,"md5":"42e9d63497d9764dc8a17c7d83b62e61","name":"ros-jazzy-ament-cmake-lint-cmake","requires":[],"size":20818,"version":"0.17.1","binstar":{"package_id":"6674a379b5589307ae1922c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2ecd284450cf6e199a424a0509f9db94a6b448057c1775aaf079899ff702124c"},"ros-jazzy-fastcdr-2.2.5-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904710062,"md5":"9003935ecbd0d45236acb9176012ff86","name":"ros-jazzy-fastcdr","requires":[],"size":80140,"version":"2.2.5","binstar":{"package_id":"6674a37cbedcf6d9e79d9859","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"49da0af889c918ac4e944cf8c83837ddc6e11a9b3ca49bf65b1420000ae224ab"},"ros-jazzy-fastcdr-2.2.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073352934,"md5":"faeed7b56f11db5876d0a525bdda0f2e","name":"ros-jazzy-fastcdr","requires":[],"size":80189,"version":"2.2.5","binstar":{"package_id":"6674a37cbedcf6d9e79d9859","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a1fbe74284b1a2991c16ff49bf3cd62e4cc887da07591d664d91e969e32c9fbf"},"ros-jazzy-launch-3.4.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735904669458,"md5":"d667eb750ab96fedbe552c46608e2250","name":"ros-jazzy-launch","requires":[],"size":238734,"version":"3.4.3","binstar":{"package_id":"6674a37ff1e91f8ddc6af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c0e77af996ce8490c086c0eb110945454e5498a1a1d46d86a2e9819c7e5ba59a"},"ros-jazzy-launch-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073318471,"md5":"94e530060285794ea293291df4bbb0ae","name":"ros-jazzy-launch","requires":[],"size":238758,"version":"3.4.3","binstar":{"package_id":"6674a37ff1e91f8ddc6af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6b9be81f4b2ccd4e0e09b79e50761b4fce696eaaa777418ee1f2e05af745f149"},"ros-jazzy-rosidl-cli-4.6.5-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["argcomplete","importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904693018,"md5":"b2964ae1b4f5f72c654a3348bc24c59c","name":"ros-jazzy-rosidl-cli","requires":[],"size":38665,"version":"4.6.5","binstar":{"package_id":"6674a38184d8e3c9b344de79","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a6dfcba38931bb37c93c6f6fdb1a5f0bc0dbada74205aaff623f76b1749fbfc"},"ros-jazzy-rosidl-cli-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["argcomplete","importlib-metadata","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073336166,"md5":"a840c4cf417dbd478295ded74b73ea22","name":"ros-jazzy-rosidl-cli","requires":[],"size":38700,"version":"4.6.5","binstar":{"package_id":"6674a38184d8e3c9b344de79","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"efc5cfba61517bfe7f35a6783d975d3c77062a0d0d2287ad24a397e1ade373e0"},"ros-jazzy-uncrustify-vendor-3.0.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","uncrustify","__osx >=10.14","libcxx >=19","uncrustify >=0.74.0,<0.75.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":"osx","timestamp":1735904539712,"md5":"bd1a47c606607c6623c8d608fb559c5a","name":"ros-jazzy-uncrustify-vendor","requires":[],"size":566616,"version":"3.0.0","binstar":{"package_id":"6674a38358ad9e4bfa9d9857","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"57135663cf7e9481382f51c1bec999877543c0728483e5ce131326dc1f03f095"},"ros-jazzy-uncrustify-vendor-3.0.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","uncrustify","__osx >=10.14","libcxx >=19","__osx >=10.14","uncrustify >=0.74.0,<0.75.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":"osx","timestamp":1736073223202,"md5":"182cef4043e027f54ddc9b842adb7b92","name":"ros-jazzy-uncrustify-vendor","requires":[],"size":566623,"version":"3.0.0","binstar":{"package_id":"6674a38358ad9e4bfa9d9857","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ab9040682c9625e1497410c9b08f505872c93ea5b0ee2c57f8cc6cce5acf63f2"},"ros-jazzy-ament-cmake-copyright-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735907636376,"md5":"95fb674ea69ba5c218659f7c48c7f71d","name":"ros-jazzy-ament-cmake-copyright","requires":[],"size":21130,"version":"0.17.1","binstar":{"package_id":"6674a3f11940d61b8344de72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"24737e685aa56107177ee3c096664816f5e595a80aca02fff615c22ea5730bdd"},"ros-jazzy-ament-cmake-copyright-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-copyright","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073525870,"md5":"11d38a08533f7774c3d046fea6ed8a30","name":"ros-jazzy-ament-cmake-copyright","requires":[],"size":21142,"version":"0.17.1","binstar":{"package_id":"6674a3f11940d61b8344de72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b2b8a389e20292c1d3a11210cd71474c1ad6ed8706f5dc097e86b5571f6f0d38"},"ros-jazzy-ament-uncrustify-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-uncrustify-vendor","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735907691992,"md5":"9f98f87a471fe9a481bfe42f665bbb0f","name":"ros-jazzy-ament-uncrustify","requires":[],"size":68466,"version":"0.17.1","binstar":{"package_id":"6674a3f2b5589307ae1922c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc69a3a67e7bac767959918408305aab992259d8230a658f7b5885cdc1fd7fba"},"ros-jazzy-ament-uncrustify-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-uncrustify-vendor","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073554452,"md5":"673f6bf572245b4b395335f8f2213d98","name":"ros-jazzy-ament-uncrustify","requires":[],"size":68492,"version":"0.17.1","binstar":{"package_id":"6674a3f2b5589307ae1922c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b189da5002ef71e00675cbc19069e1b9fcdbf9523bc19b984028dcd7cdb5bdd5"},"ros-jazzy-launch-xml-3.4.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735907730879,"md5":"8fda292664fdf4dc94f3bdcb8c153e1e","name":"ros-jazzy-launch-xml","requires":[],"size":25554,"version":"3.4.3","binstar":{"package_id":"6674a3f4bcb5ffd4511922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a5b11f527df1f1da833fdee04ba8ad49abf99c5ba3ca9531001de1d7ed9a17a0"},"ros-jazzy-launch-xml-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073579134,"md5":"903d7ba3467476665b3b6af901adfce0","name":"ros-jazzy-launch-xml","requires":[],"size":25570,"version":"3.4.3","binstar":{"package_id":"6674a3f4bcb5ffd4511922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d9ab77c9dac927ca324c45137b5f7a97e51f1f7785dba59e0b34da3985784b79"},"ros-jazzy-launch-yaml-3.4.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735907711449,"md5":"9822dd95fa80a5dd0bff7be069e5a0ec","name":"ros-jazzy-launch-yaml","requires":[],"size":26173,"version":"3.4.3","binstar":{"package_id":"6674a3f58eba59d71d44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"aa84ce5a1eccb85e735061cb0e2dc0bb234b064c37143584165fc42853b989bf"},"ros-jazzy-launch-yaml-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-launch","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736073565888,"md5":"7ddb24ea39f7dd6d1749a9b478491f11","name":"ros-jazzy-launch-yaml","requires":[],"size":26212,"version":"3.4.3","binstar":{"package_id":"6674a3f58eba59d71d44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"053ea3827419fa9f7e3bfebbe4991325003e61150b8eadd6a8959bd1539aaf6e"},"ros-jazzy-mcap-vendor-0.26.6-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-liblz4-vendor","ros-jazzy-ros-workspace","ros-jazzy-zstd-vendor","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735907750349,"md5":"81d6fa81b9ec1fdb6de2484665074489","name":"ros-jazzy-mcap-vendor","requires":[],"size":171703,"version":"0.26.6","binstar":{"package_id":"6674a3f7b4d9bfd6ec579457","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"edff7a4d571a38a03f68aae6c56834878a7e3a0f3e9c9eb76b1f4eb06f8f6d23"},"ros-jazzy-mcap-vendor-0.26.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-liblz4-vendor","ros-jazzy-ros-workspace","ros-jazzy-zstd-vendor","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073589814,"md5":"8a4008f2d9c35ead19b2d1d1259709f8","name":"ros-jazzy-mcap-vendor","requires":[],"size":171703,"version":"0.26.6","binstar":{"package_id":"6674a3f7b4d9bfd6ec579457","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0c25ed0934555678ba4764be838e7b9e91c9dcfe652f5a641b90e81456b9b1f9"},"ros-jazzy-ament-cmake-clang-format-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735908110984,"md5":"a791c7317885866ea606c10c12172242","name":"ros-jazzy-ament-cmake-clang-format","requires":[],"size":21821,"version":"0.17.1","binstar":{"package_id":"6674a446c88619e4bd9d985a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc25dd72e162974f1facf3d53713f7df8a07bf18433d523d45332651b1223b3f"},"ros-jazzy-ament-cmake-clang-format-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-clang-format","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736075484949,"md5":"5dba516e270ffb9396bf56f850517415","name":"ros-jazzy-ament-cmake-clang-format","requires":[],"size":21852,"version":"0.17.1","binstar":{"package_id":"6674a446c88619e4bd9d985a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8395283a65d08c39c7790b06cc14d7c84c50dcc6730e68abaf84bab32d47496e"},"ros-jazzy-ament-cmake-cppcheck-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735908040768,"md5":"f51f5d0ba4e1496e93bdaed21c82ea37","name":"ros-jazzy-ament-cmake-cppcheck","requires":[],"size":22746,"version":"0.17.1","binstar":{"package_id":"6674a447c168245e946af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c3aa2349bfdece6ae9a3db9f184af18ceb3669e12a6ced7f5fda39a336240e66"},"ros-jazzy-ament-cmake-cppcheck-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736075413920,"md5":"ca8d872398fb2b67cb4178a943266f73","name":"ros-jazzy-ament-cmake-cppcheck","requires":[],"size":22764,"version":"0.17.1","binstar":{"package_id":"6674a447c168245e946af059","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec911a2ecf1283b912c81135bb84a8a4ce9891f50ccadb126e37b717fb0b4fda"},"ros-jazzy-eigen3-cmake-module-0.3.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735908093460,"md5":"4b3a46313c1a4b3507287fbbdcaae9ec","name":"ros-jazzy-eigen3-cmake-module","requires":[],"size":21966,"version":"0.3.0","binstar":{"package_id":"6674a4489005ffd21cc62370","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"184bc4b6a25ece04e830e22db32a06e424d8d7e9068ba5a6db4b0812e1abd38e"},"ros-jazzy-eigen3-cmake-module-0.3.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736075469119,"md5":"d50c3d9e150badb3b353fda495a055d8","name":"ros-jazzy-eigen3-cmake-module","requires":[],"size":21959,"version":"0.3.0","binstar":{"package_id":"6674a4489005ffd21cc62370","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c218fed4ce1d98f3ae68e64be7053719a0e419131be1f27d91ce50eea530082c"},"ros-jazzy-launch-testing-3.4.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735908076943,"md5":"c1cba4b08a46424e1afb93c627829bfd","name":"ros-jazzy-launch-testing","requires":[],"size":119300,"version":"3.4.3","binstar":{"package_id":"6674a44a8c7b2f8b2ca7ce72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"31823b246a979df1d8e11d8a8fcf10a1d3f7560ee3900deead4068ee23a740f4"},"ros-jazzy-launch-testing-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736075451381,"md5":"b8013a80e6c9a4dd69d2cb01af6c87e7","name":"ros-jazzy-launch-testing","requires":[],"size":119320,"version":"3.4.3","binstar":{"package_id":"6674a44a8c7b2f8b2ca7ce72","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf579bce0e3d8b0be5f0545ed2920faf8e35790078d19fc29a71bee56cfd4dbe"},"ros-jazzy-ament-cmake-cpplint-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735907997390,"md5":"a3422936655917db82e2e55def43ad21","name":"ros-jazzy-ament-cmake-cpplint","requires":[],"size":21758,"version":"0.17.1","binstar":{"package_id":"6674a44d526ed064dbc62376","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e403e615331605305797b5c4acd1a7954c15161a6469ca262ac2ef9635123b8"},"ros-jazzy-ament-cmake-cpplint-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-cpplint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736077094226,"md5":"101e0d189cca1132c82dd454d11081aa","name":"ros-jazzy-ament-cmake-cpplint","requires":[],"size":21783,"version":"0.17.1","binstar":{"package_id":"6674a44d526ed064dbc62376","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c7bc60718c2850b9d7d8293e4828607b435d620e1194e4be19b105a222d34373"},"ros-jazzy-ament-cmake-flake8-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735907984268,"md5":"8878d72a61035546d0f9c6cfa93392cd","name":"ros-jazzy-ament-cmake-flake8","requires":[],"size":22783,"version":"0.17.1","binstar":{"package_id":"6674a44fe339ff3360579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d8e972377c5cce3865dd221430e6126615a7864e3643ee42ade2a2c560d9aa38"},"ros-jazzy-ament-cmake-flake8-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-flake8","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077079193,"md5":"eba774a8c2ca1c2e013d3f82075f9ec8","name":"ros-jazzy-ament-cmake-flake8","requires":[],"size":22806,"version":"0.17.1","binstar":{"package_id":"6674a44fe339ff3360579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9c42e1dc035cc0d67214a709ce5219f68ff2f11ce1bc35a5b2d056301ca5ffd6"},"ros-jazzy-ament-cmake-pep257-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735907965289,"md5":"52381956aca2880bdd541403a9a86617","name":"ros-jazzy-ament-cmake-pep257","requires":[],"size":21549,"version":"0.17.1","binstar":{"package_id":"6674a450cc5a7c2475f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6727cdd33c9fd03b2e93d612f7ee27871ec6a6a2e96faeafe8901011719d7cf7"},"ros-jazzy-ament-cmake-pep257-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-pep257","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736077064217,"md5":"5f2d666a565f2da745da714046a22495","name":"ros-jazzy-ament-cmake-pep257","requires":[],"size":21566,"version":"0.17.1","binstar":{"package_id":"6674a450cc5a7c2475f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0a954511ef0c31948cd11ea399f7367c8ddd96b4967ef069d1e14037f501ece7"},"ros-jazzy-ament-cmake-uncrustify-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735907947856,"md5":"9dd2d227766f4026303e89f7cd2e6a76","name":"ros-jazzy-ament-cmake-uncrustify","requires":[],"size":22143,"version":"0.17.1","binstar":{"package_id":"6674a451dbc9a5ddb557944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4433450b2ae9cb3fe6c6eab408ccae12119c35d8a09e6ee95ce0968175306499"},"ros-jazzy-ament-cmake-uncrustify-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-uncrustify","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736077044573,"md5":"65bbd416c292c98c90a4e476a974c69e","name":"ros-jazzy-ament-cmake-uncrustify","requires":[],"size":22132,"version":"0.17.1","binstar":{"package_id":"6674a451dbc9a5ddb557944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f6e26fb438a45f124c66ac9cabdabd27303271c7390e0c43f11c5f66bf35131"},"ros-jazzy-ament-cmake-xmllint-0.17.1-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1735907913065,"md5":"7d6a385d4830fd1cff6a4624ae3800a4","name":"ros-jazzy-ament-cmake-xmllint","requires":[],"size":21309,"version":"0.17.1","binstar":{"package_id":"6674a452bb59b798ed1922c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2d39ba95727673a1d04a8a448e205b52da92ef52fcdcc6da8b888984e68e6cd5"},"ros-jazzy-ament-cmake-xmllint-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-xmllint","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077004943,"md5":"7ade2df3595e1a64a45f5260a873f1b6","name":"ros-jazzy-ament-cmake-xmllint","requires":[],"size":21304,"version":"0.17.1","binstar":{"package_id":"6674a452bb59b798ed1922c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"134e7dcd4ce6ba88ecfa9e8c9ad442e3d7f9b31a38bd39b49730316a7c8166fd"},"ros-jazzy-ament-lint-common-0.17.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077135905,"md5":"e42fbbdb68f1b5f415014236c35e2ff7","name":"ros-jazzy-ament-lint-common","requires":[],"size":20742,"version":"0.17.1","binstar":{"package_id":"6674a48ff976b474bef4aba0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"af42be239d19773ec873e65dea6f581ca7170b0eb428698b225ac60adc73542d"},"ros-jazzy-foonathan-memory-vendor-1.3.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["cmake","foonathan-memory","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","foonathan-memory >=0.7.3,<0.7.4.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077203423,"md5":"989a3a76c2479b5e3b705c4fe3b4f82d","name":"ros-jazzy-foonathan-memory-vendor","requires":[],"size":18324,"version":"1.3.1","binstar":{"package_id":"6674a491c42c2ed111579458","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4853ea694b7e92b5efd2613edc1a8f11325b65b5307d96ff2cd91ac0bdf84bae"},"ros-jazzy-ament-index-cpp-1.8.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736077888335,"md5":"bae3be64a8fea57beb7594b22537a69c","name":"ros-jazzy-ament-index-cpp","requires":[],"size":46315,"version":"1.8.1","binstar":{"package_id":"6674a4dc1940d61b8344de74","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"39407ce51d99c730ccf78cc83de878697cda8d678675947e4d83c8d525a52527"},"ros-jazzy-keyboard-handler-0.3.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078147138,"md5":"fefd0818d09dd8a2356b1c4545aff6f6","name":"ros-jazzy-keyboard-handler","requires":[],"size":56917,"version":"0.3.1","binstar":{"package_id":"6674a4ddbfe0729017c62376","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e16e399af9b22eb6ff4f49e33b65d4a611ee7fd85fd0429f8d01581601f05545"},"ros-jazzy-orocos-kdl-vendor-0.5.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["eigen","orocos-kdl","python","ros-jazzy-eigen3-cmake-module","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","orocos-kdl >=1.5.1,<1.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077997634,"md5":"4eae7d3b9629ae6b52277a617fb872b2","name":"ros-jazzy-orocos-kdl-vendor","requires":[],"size":26127,"version":"0.5.1","binstar":{"package_id":"6674a4deb5589307ae1922cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"745b888b6fb7ed9b1866473adc60a48e42b0ea95a5e64c3fbb58ad5d9edd3fb9"},"ros-jazzy-spdlog-vendor-1.6.1-np126py311h8abd874_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8abd874_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","spdlog","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","spdlog >=1.14.1,<1.15.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077942449,"md5":"026beb24bc8ec34ef1aa891f005e1f90","name":"ros-jazzy-spdlog-vendor","requires":[],"size":25239,"version":"1.6.1","binstar":{"package_id":"6674a4e0ea8f365444c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4e162e96a88083535249cb9b899fc68a1972f865bf0b7be3262ef6456cda6929"},"ros-jazzy-ament-cmake-ros-0.12.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078016677,"md5":"0c4361baec282d0c9df89c777bd33e45","name":"ros-jazzy-ament-cmake-ros","requires":[],"size":29522,"version":"0.12.0","binstar":{"package_id":"6674a554d25c322a2e1922c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"efb34a53c931989fd4e361b0c0d4b4332322542b4e916b17cf7599d8b74ec733"},"ros-jazzy-mimick-vendor-0.6.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077980203,"md5":"bd6a959d464cb0a57dd39805ddfced4a","name":"ros-jazzy-mimick-vendor","requires":[],"size":50910,"version":"0.6.2","binstar":{"package_id":"6674a555d25c322a2e1922c3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3d734c83e252e7afadd927fd48c55a0da2a971b192e97be6c88f10ae7ba5fe91"},"ros-jazzy-performance-test-fixture-0.2.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077956047,"md5":"fda3e33e09270601b1b85e58db2e2a21","name":"ros-jazzy-performance-test-fixture","requires":[],"size":35614,"version":"0.2.1","binstar":{"package_id":"6674a557d25c322a2e1922c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ab960dbc19f1bc445b591fb14ea61fe57938d60dbb45fc7a043bb2ddaa70a4ac"},"ros-jazzy-python-cmake-module-0.11.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736077896718,"md5":"fec332f2ed1b29fe1cf2998ab9486d3b","name":"ros-jazzy-python-cmake-module","requires":[],"size":25903,"version":"0.11.1","binstar":{"package_id":"6674a559ea2199b4dff4ab9b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"efca481d953fa37725901f4d21a786d9d02fdb61068f9c5821e23bd47e72ad04"},"ros-jazzy-rosidl-adapter-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["empy","python","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros-jazzy-rosidl-cli","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736077938328,"md5":"8550a1f6f4d77d3f4634470e6838f5e0","name":"ros-jazzy-rosidl-adapter","requires":[],"size":63272,"version":"4.6.5","binstar":{"package_id":"6674a55bea2199b4dff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c8f137dc40b39eaf52c365a4ec5a8e163679cd9e1e0cfe887d33f373d6896e1c"},"ros-jazzy-fastrtps-cmake-module-3.6.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078092974,"md5":"ead63f349687c53d5b87456268b8cb56","name":"ros-jazzy-fastrtps-cmake-module","requires":[],"size":25552,"version":"3.6.1","binstar":{"package_id":"66751ecca31ee1457760efa8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"164ce841f167a141f69ce843d31ee1718e8dad6dc064bd8ace940d22c30873f2"},"ros-jazzy-launch-testing-ament-cmake-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078482212,"md5":"67e8398e1bfd826d7538c65c94116269","name":"ros-jazzy-launch-testing-ament-cmake","requires":[],"size":25391,"version":"3.4.3","binstar":{"package_id":"66751ece6b847cafe64ef2b0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e5b872c2900e63fad284a4f45755672c9c175aedb78998d32bdcc9e76ba4f08b"},"ros-jazzy-rosidl-parser-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["lark-parser","python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-adapter","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078518594,"md5":"2d854921092f9b8acace8b81d44171dd","name":"ros-jazzy-rosidl-parser","requires":[],"size":59589,"version":"4.6.5","binstar":{"package_id":"66751ed4f4ee0bdb121f4589","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"645841b861580571f8d1905f863bac36397f25f9abe58c453d461c51662aa1ce"},"ros-jazzy-rosidl-typesupport-interface-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078060580,"md5":"31dfba291777afec0933decf00ba25a9","name":"ros-jazzy-rosidl-typesupport-interface","requires":[],"size":27468,"version":"4.6.5","binstar":{"package_id":"66751ed536bdc0d98eb325f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"412f253c52d7310b7fe7ccab61fad88158e429a318644153d42c34688082797d"},"ros-jazzy-console-bridge-vendor-1.7.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["console_bridge","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078566124,"md5":"de8d64e11235290dbadaa9676caef3d5","name":"ros-jazzy-console-bridge-vendor","requires":[],"size":25721,"version":"1.7.1","binstar":{"package_id":"66751f27a116811e5e8312ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4444664b4a688ab4ecd342c8c3081e1675fd1a959e60b441ca07222ab07cb2c9"},"ros-jazzy-urdf-parser-plugin-2.10.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-urdfdom-headers","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078484571,"md5":"6c9a714a6c3cc12d545b81cb2a559e37","name":"ros-jazzy-urdf-parser-plugin","requires":[],"size":30133,"version":"2.10.0","binstar":{"package_id":"66751f28bb9bcc31bda376b8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bcb979a7d2f0db56da07252f26c33b496f9671979d1438e4fdedb1a8663d0cdc"},"ros-jazzy-fastrtps-2.14.4-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["openssl","python","ros-jazzy-fastcdr","ros-jazzy-foonathan-memory-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tinyxml2","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","openssl >=3.4.0,<4.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078108221,"md5":"4a5e3e27e2129371135ca695ecaab18c","name":"ros-jazzy-fastrtps","requires":[],"size":3226664,"version":"2.14.4","binstar":{"package_id":"667520521ae390792a55e120","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec7acf4ae7c1e2e5a80802cf5b208bda6147acd169c3d672b7592b1b6d2b3729"},"ros-jazzy-libyaml-vendor-1.6.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pkg-config","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","yaml","yaml-cpp","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","yaml >=0.2.5,<0.3.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","yaml-cpp >=0.8.0,<0.9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078548596,"md5":"85cf2b1ff0614feb64df18a024f85019","name":"ros-jazzy-libyaml-vendor","requires":[],"size":27770,"version":"1.6.3","binstar":{"package_id":"6675205301afc569e3b325f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ac3c6b3f4da05895a81ea4dbfa6e3f5dba483e1044307bbd316d071497885e33"},"ros-jazzy-rmw-implementation-cmake-7.3.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078441247,"md5":"bc2b13ae578b16df026c023cc0e86456","name":"ros-jazzy-rmw-implementation-cmake","requires":[],"size":27568,"version":"7.3.1","binstar":{"package_id":"6675205401afc569e3b325fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46b5eea6081429ac048bdc4900485d2c562424cf697b436fb7640859fcab07aa"},"ros-jazzy-rti-connext-dds-cmake-module-0.22.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078425003,"md5":"84371966931a3269944454bbbe1dc626","name":"ros-jazzy-rti-connext-dds-cmake-module","requires":[],"size":29660,"version":"0.22.0","binstar":{"package_id":"66752055fcacfe3dc8a376b6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ae4dca6ae888ec643c22f199424c4ee2148419092d3243cb0998b68e2e2d2d56"},"ros-jazzy-tracetools-8.2.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078533493,"md5":"1c31c413b2880c6adc93611a87911020","name":"ros-jazzy-tracetools","requires":[],"size":33097,"version":"8.2.3","binstar":{"package_id":"66752056a12613151f4ef2b3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9e4c1c7eb6b4fb32329bd135f7f35f7558a47fa2201bddb1fae90522b062449c"},"ros-jazzy-rcutils-6.7.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078728346,"md5":"4aca2bb40288a4436dfb07de7085d13d","name":"ros-jazzy-rcutils","requires":[],"size":116907,"version":"6.7.2","binstar":{"package_id":"66755346ab8e4fb8a751162a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9e77d2a87139a6d65c139f605e740609115049b96c0002eb757d96495546f13b"},"ros-jazzy-rosidl-generator-type-description-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078787139,"md5":"c66fcda81decd60050633a680680d2bf","name":"ros-jazzy-rosidl-generator-type-description","requires":[],"size":45420,"version":"4.6.5","binstar":{"package_id":"66755347c51310fb1549e819","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"11c5c6dd420de0d438bfe346cb47bc34f8c16e61e7c8e545b6253f56502fd0e8"},"ros-jazzy-rosidl-pycommon-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-parser","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078773909,"md5":"fe5203e9b7e458ffd65d99672452a27b","name":"ros-jazzy-rosidl-pycommon","requires":[],"size":24915,"version":"4.6.5","binstar":{"package_id":"6675534819531b40f8fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"41b757fcfc719c9f2548c2b6f692573626a4270f848055d8b880edab19b61871"},"ros-jazzy-urdfdom-4.0.1-h0dc7051_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["urdfdom ==4.0.1","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735932357219,"md5":"fa828ad11f537c3df328f1f0df0fb891","name":"ros-jazzy-urdfdom","requires":[],"size":1815,"version":"4.0.1","binstar":{"package_id":"66755349942fb586b6f7dda3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9357dcdc2407591372018c60a92361f3d75f5ce08958ec119ded28b4e88c687e"},"ros-jazzy-rcpputils-2.11.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079012818,"md5":"779e6f2d2f03f6b1c1e85844bf172149","name":"ros-jazzy-rcpputils","requires":[],"size":78541,"version":"2.11.1","binstar":{"package_id":"6675538f676399c626e81bb3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4fc46a43a9ac6cfbc35092c2637b56955caba3d73fb9f5b240a1e2ccc60e37a6"},"ros-jazzy-rosidl-cmake-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["empy","python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros-jazzy-rosidl-pycommon","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078992284,"md5":"d05130bc0194295515bfa64797d7f7ac","name":"ros-jazzy-rosidl-cmake","requires":[],"size":33337,"version":"4.6.5","binstar":{"package_id":"667553906512ff23e2fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d5fb60c8ef14a6f5645a7edc008cac062b0294c65401ff23cd14b257ae3cfe5e"},"ros-jazzy-rosidl-runtime-c-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-typesupport-interface","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078940921,"md5":"8ebc3f649e60d6c4d8be419aed6b1b9b","name":"ros-jazzy-rosidl-runtime-c","requires":[],"size":78752,"version":"4.6.5","binstar":{"package_id":"66755391efbad63bca80da64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"392316282aa4089295ce0c2a85a8c1333c191dcfd818019206887c0eed059840"},"ros-jazzy-class-loader-2.7.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["console_bridge","python","ros-jazzy-console-bridge-vendor","ros-jazzy-rcpputils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","console_bridge >=1.0.2,<1.1.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":"osx","timestamp":1736079229844,"md5":"0324ba92dad5b25718e3522682c27ce8","name":"ros-jazzy-class-loader","requires":[],"size":66876,"version":"2.7.0","binstar":{"package_id":"667553ef3603e75bcd80da64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3a3acaa96a4410f172eb3fa6c531679195db2ee34281e0e30baa3ad67e49fe7f"},"ros-jazzy-rcl-logging-interface-3.1.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079215357,"md5":"dcab23fa245880aff7a801d83db636a1","name":"ros-jazzy-rcl-logging-interface","requires":[],"size":33029,"version":"3.1.1","binstar":{"package_id":"667553f1a3a2cd9e2eba03f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"15aab7869306dae7dade03ae28a1eba1c44ab95489f269e2fa5e3fd6505740d4"},"ros-jazzy-rosidl-dynamic-typesupport-0.1.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079200433,"md5":"194fb9c37a5af76b8a1f42e83a2009e8","name":"ros-jazzy-rosidl-dynamic-typesupport","requires":[],"size":54993,"version":"0.1.2","binstar":{"package_id":"667553f3f6fec850abba03f0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2e257d9b139c7055bdb569daf481a0a9222dfbbe0396b04e02991ebbf64bf466"},"ros-jazzy-rosidl-generator-c-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079187224,"md5":"33c89244ed63296d107deb452bd5bdf5","name":"ros-jazzy-rosidl-generator-c","requires":[],"size":51341,"version":"4.6.5","binstar":{"package_id":"667553f4b065f00167fc97bd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"695751eaa72bae9e50c8b46098caf95da78617325b28577436546e8e3d2ab095"},"ros-jazzy-rosidl-runtime-cpp-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros-jazzy-rosidl-runtime-c","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079156326,"md5":"8ddcb73ae4906b099e01588fa09533a6","name":"ros-jazzy-rosidl-runtime-cpp","requires":[],"size":39063,"version":"4.6.5","binstar":{"package_id":"667553f6b7dd65cd7bf7dd98","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"430ea4940504fe4080196abd238e1b69bba7dab026572f166705feee11c39a1c"},"ros-jazzy-pluginlib-5.4.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079319271,"md5":"5063f711ae0c1e506031fab2807aabf1","name":"ros-jazzy-pluginlib","requires":[],"size":39549,"version":"5.4.2","binstar":{"package_id":"6675543033804386eeba03e9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"95f01c6186e308e3e01767515da31cb83460a4edf1a258f751ebe058130c53e6"},"ros-jazzy-rcl-logging-spdlog-3.1.1-np126py311h8abd874_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8abd874_2","build_number":2,"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","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","spdlog >=1.14.1,<1.15.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079408692,"md5":"3b4d323dca42f68da2229090424f0b48","name":"ros-jazzy-rcl-logging-spdlog","requires":[],"size":43249,"version":"3.1.1","binstar":{"package_id":"6675545679a1e1da3ef7dd8f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"60f736240785b35895e69aa96545e016db4a818fa75416386bea58e6d0ffa98f"},"ros-jazzy-rmw-7.3.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079354217,"md5":"fdcfafc8124a9419f5b1a92e7fa2e3d3","name":"ros-jazzy-rmw","requires":[],"size":91929,"version":"7.3.1","binstar":{"package_id":"6675545733804386eeba03eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"045756e6c608d8cb2cb5a60199263d5c57837da76499f44bc7b8b0ba59e8570b"},"ros-jazzy-rosidl-dynamic-typesupport-fastrtps-0.1.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079384522,"md5":"7e52b38f822f0ec1a71ddbff2c4931b7","name":"ros-jazzy-rosidl-dynamic-typesupport-fastrtps","requires":[],"size":77929,"version":"0.1.0","binstar":{"package_id":"6675545817cc4891dbba03f2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b8e8e8121adee202c0ba4ceaba5e5e7e1bbc9a7dd1cf70ffef8f511b8391d21e"},"ros-jazzy-rosidl-generator-cpp-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079321283,"md5":"09f103ed1627464cf9efda49cd0f7ccc","name":"ros-jazzy-rosidl-generator-cpp","requires":[],"size":48177,"version":"4.6.5","binstar":{"package_id":"6675545ae15bbbf909ba03ea","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"307fb6fb2efcb1bbe68ed10513e84aadbd75808728807834b1ef73a07ba369b5"},"ros-jazzy-rosidl-typesupport-introspection-c-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079370725,"md5":"e19d19e9ff90db9f8e4406d1d3f8d8d3","name":"ros-jazzy-rosidl-typesupport-introspection-c","requires":[],"size":45799,"version":"4.6.5","binstar":{"package_id":"6675545bc61e8fdedffc97bb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"425ba8d0b82cf5b093110c0ccb22e74f3fb542fe21837391875ef94aeecd8a35"},"ros-jazzy-rcl-yaml-param-parser-9.2.4-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","yaml >=0.2.5,<0.3.0a0","numpy >=1.26.4,<2.0a0","yaml-cpp >=0.8.0,<0.9.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079550056,"md5":"91975713e7901111d97e0a4f6a4023aa","name":"ros-jazzy-rcl-yaml-param-parser","requires":[],"size":47570,"version":"9.2.4","binstar":{"package_id":"667554b228e9267efdfc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a49fb6e9cd26a20717ffaaa781fafd2ace687cf3c5b5bdd2eb8a18ba59313116"},"ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079494361,"md5":"39c4cfe185fa45d4879709511100e0d2","name":"ros-jazzy-rosidl-typesupport-fastrtps-cpp","requires":[],"size":51635,"version":"3.6.1","binstar":{"package_id":"667554b4d66865331cba03f4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"707cafe379c2ca8eed9fb802a182fb30d30ba133b11878dfd48019ef84d03fe9"},"ros-jazzy-rosidl-typesupport-introspection-cpp-4.6.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736079532348,"md5":"6852638da492e009ed09cb920f38dabd","name":"ros-jazzy-rosidl-typesupport-introspection-cpp","requires":[],"size":46113,"version":"4.6.5","binstar":{"package_id":"667554b5b065f00167fc97c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"056d758386dbda782dadff429627ba8b861589743b8ab02ae2c494ad9f25da87"},"ros-jazzy-urdf-2.10.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736079568594,"md5":"aafdeff7993b9f57b3b34054d75dd5ef","name":"ros-jazzy-urdf","requires":[],"size":135712,"version":"2.10.0","binstar":{"package_id":"667554b619531b40f8fc97c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"02f62b93c26af7cdf6b91face9c1e1e41c5d3e5a234334a693b6b5262dd53ea4"},"ros-jazzy-kdl-parser-2.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449308552,"md5":"705e645ea4a6d30bc8966228c2a2e779","name":"ros-jazzy-kdl-parser","requires":[],"size":47154,"version":"2.11.0","binstar":{"package_id":"667554fd187a58b4e599719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9a0eac9263c8801ef8ea6a25878a3f841e0ad9b4bc26c5976e51c68f714d2b22"},"ros-jazzy-rosidl-typesupport-c-3.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449327644,"md5":"208c6f268ac6063c4286175803e66c10","name":"ros-jazzy-rosidl-typesupport-c","requires":[],"size":48405,"version":"3.2.2","binstar":{"package_id":"667554feb4b2a28e08fc97bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3eea255fa2188edca3206311f661e12c3ba547a4765d59442d2bd754767c4e9f"},"ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449249533,"md5":"71faaf8d40837ceefde25253ef857296","name":"ros-jazzy-rosidl-typesupport-fastrtps-c","requires":[],"size":49512,"version":"3.6.1","binstar":{"package_id":"667554fffba30a11b1a862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c9d43e1e68b1257772f4fab7dca52746d80f34fde5a37fbeee9dbcc34b0abb45"},"ros-jazzy-rosidl-core-generators-0.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449433972,"md5":"6737e2fb7f157e8bb6d7132804986b23","name":"ros-jazzy-rosidl-core-generators","requires":[],"size":30558,"version":"0.2.0","binstar":{"package_id":"6675555445471806a199719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"68332629b3aa0db5151176ad7a72effb5cc93e32b70a0ea741173881f6e26d51"},"ros-jazzy-rosidl-core-runtime-0.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449421879,"md5":"dfc6a4c139d3365acc5fb730180560d6","name":"ros-jazzy-rosidl-core-runtime","requires":[],"size":29576,"version":"0.2.0","binstar":{"package_id":"6675555628e9267efdfc97c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"89e6481d63978557d5fb8b931cd2b64eccadad3343758c4c488fabfbe2b7e990"},"ros-jazzy-rosidl-generator-py-0.22.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449405270,"md5":"a3a391231c40a52703fab5b616e27761","name":"ros-jazzy-rosidl-generator-py","requires":[],"size":59985,"version":"0.22.0","binstar":{"package_id":"66755558a402cb080399719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2256c32afdc4c297b4729237017c45fd1894392deb089ac65804f92ad5f848a7"},"ros-jazzy-rosidl-typesupport-cpp-3.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449371066,"md5":"fa797f211c2399aede44abbbfe901dea","name":"ros-jazzy-rosidl-typesupport-cpp","requires":[],"size":47680,"version":"3.2.2","binstar":{"package_id":"6675555ecaf42f844e99719c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8cd4de8d0e7aa1b1bc1987b7fc7c0f91a82496ee49d57317a88754c9a3740d8"},"ros-jazzy-builtin-interfaces-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449480953,"md5":"e606389d56d4a51325cbd3474d2f6b27","name":"ros-jazzy-builtin-interfaces","requires":[],"size":74267,"version":"2.0.2","binstar":{"package_id":"667555b35c2e9b2aa799719d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"356215529d7216e1e68a85ea64151d8f9c7866c0c20963e575a85a5cbb338fdd"},"ros-jazzy-service-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449581209,"md5":"c5b08a401ef2451fc1de89ac3c0e7995","name":"ros-jazzy-service-msgs","requires":[],"size":76138,"version":"2.0.2","binstar":{"package_id":"667555b4436e0c3f8aa862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2a883bb0a31ed5b58f9e302b19b3a3bac1508d6bc243dc97c749aab9cff1d1a4"},"ros-jazzy-unique-identifier-msgs-2.5.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449549888,"md5":"d1e5736ce92efa79cdd7af9ab831402f","name":"ros-jazzy-unique-identifier-msgs","requires":[],"size":69138,"version":"2.5.0","binstar":{"package_id":"667555b5b065f00167fc97c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d4aeee416a26d1d3fb6bf3c7a0f7eb7d98460e2b48be872628ecdab04fd2c874"},"ros-jazzy-action-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449665689,"md5":"354fa5e5080ce98930a28c02186c9b53","name":"ros-jazzy-action-msgs","requires":[],"size":140616,"version":"2.0.2","binstar":{"package_id":"6675561ca0563b60eb6e10c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f3d008e0a0df8297896965fa21b341883653955265a83cdcfcb2effb4161f527"},"ros-jazzy-rosidl-default-generators-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449794824,"md5":"5319cafbf14f11c40d94b0d35cb9c5a0","name":"ros-jazzy-rosidl-default-generators","requires":[],"size":30750,"version":"1.6.0","binstar":{"package_id":"6675561db065f00167fc97c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"64b42524f4d7d6e2662e778d975e64d04356e3671c4ec3be8d8ee8ae00e1bf57"},"ros-jazzy-rosidl-default-runtime-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449780882,"md5":"6d96822cd8a89a283a18c02ba9bc4c91","name":"ros-jazzy-rosidl-default-runtime","requires":[],"size":30190,"version":"1.6.0","binstar":{"package_id":"6675561e6512ff23e2fc97c3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ca41957ec33295017a8a0f94eef8a727ffc1beccf26670006750c9500f4e5ba0"},"ros-jazzy-type-description-interfaces-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-core-runtime","ros-jazzy-service-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449726250,"md5":"894ba3a19899565f5f951ad3007d0f00","name":"ros-jazzy-type-description-interfaces","requires":[],"size":208718,"version":"2.0.2","binstar":{"package_id":"6675561fedb927606aa862ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5f126691b05908d6c6e4c3746c04f90db29e3d0bfd953ce716fb3ca127f07117"},"ros-jazzy-ros2cli-test-interfaces-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450218310,"md5":"a2da41a26d1c57ad4864e9379b445259","name":"ros-jazzy-ros2cli-test-interfaces","requires":[],"size":223496,"version":"0.32.2","binstar":{"package_id":"66755669c78a5647646e10c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4e3aa91c270f68bf2bff22a9b06a9ceed1cd2bb2a397790116fad2c57ef1c6ac"},"ros-jazzy-rosbag2-interfaces-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449940394,"md5":"b69ae5547809d944b026c0b649689e50","name":"ros-jazzy-rosbag2-interfaces","requires":[],"size":401967,"version":"0.26.6","binstar":{"package_id":"6675572445471806a199719f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2ae67caf174b1e8608fb20687849bebe52ae80d0394b2ac8bc2ade47b0c6fbc7"},"ros-jazzy-lifecycle-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449907660,"md5":"33adae525c8d18dd7207140661f2a5b3","name":"ros-jazzy-lifecycle-msgs","requires":[],"size":240985,"version":"2.0.2","binstar":{"package_id":"6675572653861a06946e10ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d85b1e53c3e7e489f547f3f9695005f89180df4c2047bfe9ac6af58e379b76c4"},"ros-jazzy-rosbag2-test-msgdefs-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449849124,"md5":"d1111cdd2c8f3a452912ba9d0b7578de","name":"ros-jazzy-rosbag2-test-msgdefs","requires":[],"size":187562,"version":"0.26.6","binstar":{"package_id":"667557267c0a2c63af7e71f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"355559a27ce5c71d17004018f062938d9e9bad076fc0aa89480671752e0168aa"},"ros-jazzy-rosgraph-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449848439,"md5":"290bf1af7b3c2e5f50971f7dc1b08744","name":"ros-jazzy-rosgraph-msgs","requires":[],"size":68515,"version":"2.0.2","binstar":{"package_id":"667557271a086940c67e71f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f1e5c502870bc6cb29e49f6dcdfb4b46b324c53a562ab91741a01dcffb437eaf"},"ros-jazzy-rcl-interfaces-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450019158,"md5":"bd103ff31faaadb7db28a7fdbf1c19fd","name":"ros-jazzy-rcl-interfaces","requires":[],"size":497894,"version":"2.0.2","binstar":{"package_id":"667557287435bd396ea862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"877220803647e4617925ed46aada9bb4e3f973df7faa677e4f49a935bf787316"},"ros-jazzy-statistics-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450199734,"md5":"80665ea2444ebcdfabad997d00aa1e26","name":"ros-jazzy-statistics-msgs","requires":[],"size":101293,"version":"2.0.2","binstar":{"package_id":"66755728aa2f1733d16e10cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9c01d6810780ee5fa60677a0fe7e9bd21b0fd7ff64cebdaf578466812001caa1"},"ros-jazzy-std-srvs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449963199,"md5":"73aac0a8a5177fa0af06119f148be21e","name":"ros-jazzy-std-srvs","requires":[],"size":153534,"version":"5.3.5","binstar":{"package_id":"6675572945471806a19971a2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c86d9f223ffa14e313275c7689580a59524a194c2b288cd74dcc30db57cfec12"},"ros-jazzy-rmw-dds-common-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736449849112,"md5":"deb40ec55f8fe48a26297202bd97ddc9","name":"ros-jazzy-rmw-dds-common","requires":[],"size":164985,"version":"3.1.0","binstar":{"package_id":"6675572a390e7254da9ce9eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"944c07940c8937dbe11bf6b897439651fbec1a638ecb992402adc2530eb5e1bf"},"ros-jazzy-std-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450104295,"md5":"7c6743528010c4979086bfb5c1f6609f","name":"ros-jazzy-std-msgs","requires":[],"size":292544,"version":"5.3.5","binstar":{"package_id":"6675572b7f7e33f8fd9ce9e8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c1463862d6fd5739742e7a02d57a16c007ef545a48c6454db81e6317305e49ae"},"ros-jazzy-test-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449904793,"md5":"5c6d385dc795aacc8062cb596c353857","name":"ros-jazzy-test-msgs","requires":[],"size":753725,"version":"2.0.2","binstar":{"package_id":"6675572e1a086940c67e71f9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b6c87df6cb1faa9f0f44a18a6ccfa6c50cbd9b839d276a2c5dc9aa71814e5187"},"ros-jazzy-actionlib-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450329583,"md5":"9c5608022385a6948d26a078412a5df0","name":"ros-jazzy-actionlib-msgs","requires":[],"size":102585,"version":"5.3.5","binstar":{"package_id":"66755780fa0cef19a46e10c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"75592d03f0868391de60092f0ef9b7c55dfe9fd9e03aa3e8683bcb2385988cf7"},"ros-jazzy-rosidl-runtime-py-0.13.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["numpy","python","pyyaml","ros-jazzy-ros-workspace","ros-jazzy-rosidl-parser","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450299798,"md5":"77b679aa44b262fba73c8cbc9581784d","name":"ros-jazzy-rosidl-runtime-py","requires":[],"size":47410,"version":"0.13.1","binstar":{"package_id":"66755782fba30a11b1a862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e9ad6139c3b0e413f4b3b9ea37565d1783d32407849efb5d752be2d28fda4968"},"ros-jazzy-composition-interfaces-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rcl-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450424432,"md5":"7465a03e8506fe439f139ec00885379a","name":"ros-jazzy-composition-interfaces","requires":[],"size":201037,"version":"2.0.2","binstar":{"package_id":"667557f1b0c2d2df46a862cc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b77a8abd6ab2632160f4a28177a0b6c9e48d1df6f089a406d1298eefe5ae2e4d"},"ros-jazzy-geometry-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450459134,"md5":"bf32c8a8629316a80a78b17b0607a6f2","name":"ros-jazzy-geometry-msgs","requires":[],"size":336593,"version":"5.3.5","binstar":{"package_id":"667557f2b065f00167fc97cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fb51bc206b5ed9ebf7e708bf7eaef5061281841497044d321243f28ff01478b2"},"ros-jazzy-rmw-connextdds-common-0.22.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450381438,"md5":"22d6a5a3a6b153de0e2d5ef98f8f6235","name":"ros-jazzy-rmw-connextdds-common","requires":[],"size":51868,"version":"0.22.0","binstar":{"package_id":"667557f35c2e9b2aa79971a6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"33c8bb565798372730b4d736338e16eb850b6d9001e2a45e7a0d73a61df13086"},"ros-jazzy-rmw-cyclonedds-cpp-2.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450397084,"md5":"37cb6cb3c2030e04e578bb6972d06427","name":"ros-jazzy-rmw-cyclonedds-cpp","requires":[],"size":203391,"version":"2.2.2","binstar":{"package_id":"667557f46512ff23e2fc97c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cde580a439f93c06f091057a6a40096c189095f79a71bc257dfa77eec28d1007"},"ros-jazzy-rmw-fastrtps-shared-cpp-8.4.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450298184,"md5":"0d4b694aacb24ebc3080fc06124d9b96","name":"ros-jazzy-rmw-fastrtps-shared-cpp","requires":[],"size":222142,"version":"8.4.1","binstar":{"package_id":"667557f61c6d3f3276a862c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b84a0fe20a3317dc1f6a4c7a319f095c15ae625b5e4037eb9b0a5130d220d1c4"},"ros-jazzy-diagnostic-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450685993,"md5":"b4d7bdf4e731d729d1ac3273943cc913","name":"ros-jazzy-diagnostic-msgs","requires":[],"size":186848,"version":"5.3.5","binstar":{"package_id":"667558917248a85a416e10c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"99a5d84220a8946859f9655cf7a2347f07ed2708c15d53f9498d30a0249965bb"},"ros-jazzy-nav-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450767539,"md5":"4924555560f0ae40466788b48a36a6f8","name":"ros-jazzy-nav-msgs","requires":[],"size":275171,"version":"5.3.5","binstar":{"package_id":"667558926512ff23e2fc97cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9519e8650aaa9fd4164f057feb79b1225b89c28168ad4f84cb5e514677a2e5e9"},"ros-jazzy-shape-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450731327,"md5":"6d4b1a3a54f246c4b499ffd72e2c1694","name":"ros-jazzy-shape-msgs","requires":[],"size":117056,"version":"5.3.5","binstar":{"package_id":"6675589428e9267efdfc97c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2e3a232dcf06a76f3af80fa8575450216d78160be7ae097622d090b342006ff0"},"ros-jazzy-tf2-msgs-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450587250,"md5":"74e01379bb6586a2c4779494328b4426","name":"ros-jazzy-tf2-msgs","requires":[],"size":235451,"version":"0.36.7","binstar":{"package_id":"66755895fba30a11b1a862cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"778184ff1e9a146ae3da5cb09f149e288864a7dd93561934e8558d9ae7a4f4ce"},"ros-jazzy-trajectory-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450850265,"md5":"8affd2138c11449f01850cc53c5defa0","name":"ros-jazzy-trajectory-msgs","requires":[],"size":135129,"version":"5.3.5","binstar":{"package_id":"66755896edb927606aa862d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3a44e1ba1ae67ca8350d8146a143a115c3a799f0920da5d426bc2a079d305caa"},"ros-jazzy-rmw-connextdds-0.22.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rmw-connextdds-common","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450717335,"md5":"d96e9d68325b4f2ef5cfb0405aa06ef8","name":"ros-jazzy-rmw-connextdds","requires":[],"size":30031,"version":"0.22.0","binstar":{"package_id":"667558b3b0c2d2df46a862ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ae97b443a6c6d3c933caf059f7ede7e0b84b29c5f730d1f3c8c0b939670347fc"},"ros-jazzy-rmw-fastrtps-cpp-8.4.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450671942,"md5":"77c42aae13ca38bef18ec6f833b39d13","name":"ros-jazzy-rmw-fastrtps-cpp","requires":[],"size":136633,"version":"8.4.1","binstar":{"package_id":"667558b5329f4685506e10c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"16c78b86e61376d1729d0f48e6e4ba231f7a0c4b78f1c8266abe14bd3f69d6ab"},"ros-jazzy-rmw-fastrtps-dynamic-cpp-8.4.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450589919,"md5":"ab96a1785e3cb2efd00eb28e0240c3b3","name":"ros-jazzy-rmw-fastrtps-dynamic-cpp","requires":[],"size":157502,"version":"8.4.1","binstar":{"package_id":"667558b67248a85a416e10ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"74cf1689e47cb5d9fa05951ed765f32ac2c7c182bd32f135f4bb78eb6e1931bd"},"ros-jazzy-sensor-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450733528,"md5":"714ad7c46ff355c2f80c4fa98be07946","name":"ros-jazzy-sensor-msgs","requires":[],"size":482734,"version":"5.3.5","binstar":{"package_id":"667558b728e9267efdfc97cc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f0da6bf9ef2f166c60c0d07030cd2f7b16192fabe9dba17039aff537724075b6"},"ros-jazzy-tf2-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450661791,"md5":"db3a455b2afbe2f543f0e53bbec5879c","name":"ros-jazzy-tf2","requires":[],"size":125047,"version":"0.36.7","binstar":{"package_id":"667558b81c6d3f3276a862cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b6e9215a59140a66190d08fcb453fba18839447862e08355396e0c3f663a15e9"},"ros-jazzy-rmw-implementation-2.15.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450922261,"md5":"2cc8406892516ad4cab8494ba9a954cc","name":"ros-jazzy-rmw-implementation","requires":[],"size":48792,"version":"2.15.4","binstar":{"package_id":"667559a01ce5d6200723b4eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b67d6ccb9ea912a4a199895ad3c3672369b8990db14984a41c82eeb914bc570e"},"ros-jazzy-sensor-msgs-py-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["numpy","python","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451139230,"md5":"ff312fb5a469d970a7a139c84cce5a46","name":"ros-jazzy-sensor-msgs-py","requires":[],"size":30334,"version":"5.3.5","binstar":{"package_id":"667559a1ee29441898ec0013","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dd54b450b8a3657941bfc98fb06599a366bdb8da6471d24e4af2b43228c50e0d"},"ros-jazzy-stereo-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451106455,"md5":"c131bfe8ae09d57f0ef9aeb44199636d","name":"ros-jazzy-stereo-msgs","requires":[],"size":79505,"version":"5.3.5","binstar":{"package_id":"667559a37248a85a416e10d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4ee0c0532fca6f0417353f0d3c8ff2ddbf9966353a55aa6d7dc12b214ca5e6ac"},"ros-jazzy-tf2-eigen-kdl-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["eigen","python","ros-jazzy-orocos-kdl-vendor","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450915867,"md5":"a89492fb40200cf8e37d550d416e33af","name":"ros-jazzy-tf2-eigen-kdl","requires":[],"size":38832,"version":"0.36.7","binstar":{"package_id":"667559a4183e39764b23b4ec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6495125da63f512ace211c90bbf743e45bbb169b3562dcbfe8345850dd27c10a"},"ros-jazzy-visualization-msgs-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451000295,"md5":"49613250f8231decc96b8688a656fc05","name":"ros-jazzy-visualization-msgs","requires":[],"size":328174,"version":"5.3.5","binstar":{"package_id":"667559a5183e39764b23b4ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7e0086499807ea17ec98815aa616db3a74904d5ee208ff8a3a4d1bd8509e1b32"},"ros-jazzy-common-interfaces-5.3.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451514437,"md5":"f388937ee62ea3a195746c48d46f5100","name":"ros-jazzy-common-interfaces","requires":[],"size":24846,"version":"5.3.5","binstar":{"package_id":"667559e74aa2bfcb836e10c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"181fdcb0ab66d479bcabc6c34fe3497acf333281ef77b073d42a0a015e6c2c05"},"ros-jazzy-rcl-9.2.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","libcxx >=19","yaml >=0.2.5,<0.3.0a0","yaml-cpp >=0.8.0,<0.9.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":"osx","timestamp":1736451444095,"md5":"a7448faf272902ff44c88243b3e8dd88","name":"ros-jazzy-rcl","requires":[],"size":185619,"version":"9.2.4","binstar":{"package_id":"667559e8bba1dce73d23b4eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7ecf9c1930e1a125d4c937778a6901d255b3bbbf7592447f060e5aec1a701316"},"ros-jazzy-libstatistics-collector-1.7.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736451560944,"md5":"e8ced1c2dff139a9b45fe4e8a438cc81","name":"ros-jazzy-libstatistics-collector","requires":[],"size":54823,"version":"1.7.4","binstar":{"package_id":"667563fa11d9f171577e603c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46543c8f4d6b4419bfce9a1a1b06be62c06f199c4d110ba79b9fb9a186d2ce2f"},"ros-jazzy-rcl-action-9.2.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736451647246,"md5":"4b907f30be97021eb46eb7807e445339","name":"ros-jazzy-rcl-action","requires":[],"size":71076,"version":"9.2.4","binstar":{"package_id":"667563fc62643526347e603a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8582af7f3a2f1d84fa3bd5a8c821373211fef68b985b2193a4b25b921e850bd6"},"ros-jazzy-rcl-lifecycle-9.2.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451622808,"md5":"3b043acfc674fda997e53a8ce4f8c787","name":"ros-jazzy-rcl-lifecycle","requires":[],"size":52943,"version":"9.2.4","binstar":{"package_id":"667563fde6378210207e603b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7f839de9c7f4a376a083e7df2f3b446dad0d09b6e85d462d0e6fb5e86a915c06"},"ros-jazzy-rclcpp-28.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736451692013,"md5":"c3f7418dcf0a3168a5c77c37622e703c","name":"ros-jazzy-rclcpp","requires":[],"size":815533,"version":"28.1.6","binstar":{"package_id":"667564db12fd2a45bb74d8a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0f119d1f6381219769b61b1f98e5068ae5b1b466eb912c49d93c033d70d0173f"},"ros-jazzy-rclpy-7.1.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451871328,"md5":"eb26600630f3589113394eeadee1a701","name":"ros-jazzy-rclpy","requires":[],"size":564527,"version":"7.1.3","binstar":{"package_id":"667564ddb473691d5cd428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1752e3ace4c93767fd6609ffdc9e3465c8cfaf783d717a8f5fd4ad6feb515713"},"ros-jazzy-rclcpp-action-28.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452079713,"md5":"2497de7b30e72f986c0394d61b2a3e11","name":"ros-jazzy-rclcpp-action","requires":[],"size":102546,"version":"28.1.6","binstar":{"package_id":"6675652842463ba6eaecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"576b1fea4f6e284e686786b9cc4409d60652016ddb57a98ba3866a47a7dc04a8"},"ros-jazzy-tf2-py-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452095319,"md5":"319919f36ee7d6cd1a9c32f65a3d0661","name":"ros-jazzy-tf2-py","requires":[],"size":49675,"version":"0.36.7","binstar":{"package_id":"66756529adafcbac3505ef06","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"98ce7b57d79c15d31fe27018c381e15e3876133ac4ca3f3263f2cbbaa04d2e0a"},"ros-jazzy-launch-ros-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452111150,"md5":"5871c8857944d1f5fd977ac9ba739fec","name":"ros-jazzy-launch-ros","requires":[],"size":124794,"version":"0.26.6","binstar":{"package_id":"667565550d17e7c9e505ef04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4919a28ebc5e65b8745102a7e744641842cefd096776b85e5dd41d955bbc6e93"},"ros-jazzy-rclcpp-components-28.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452152298,"md5":"7ce0332bf131a65b8b3b4b2225e6806e","name":"ros-jazzy-rclcpp-components","requires":[],"size":118863,"version":"28.1.6","binstar":{"package_id":"6675655662643526347e603f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8f281885ad461f597e24d6ac400f509e5ac029df36a60dbb95d511d7ba156246"},"ros-jazzy-rclcpp-lifecycle-28.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452016720,"md5":"2f90efd25baa3e2c5ca081a16e23281b","name":"ros-jazzy-rclcpp-lifecycle","requires":[],"size":108285,"version":"28.1.6","binstar":{"package_id":"667565578b21dec46674d8a0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4ab63faf41580e2b415a6a3ec5f3f98c181867b60a0502bd06a8289823dbec8c"},"ros-jazzy-ros2cli-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["argcomplete","importlib-metadata","packaging","psutil","python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452132479,"md5":"3d2d74151b7b80b6e5840c88d5f970f6","name":"ros-jazzy-ros2cli","requires":[],"size":76629,"version":"0.32.2","binstar":{"package_id":"6675655811d9f171577e6042","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4d21a4650f290da47b4e9927f1a87b1a74962ddbfecbff741f977ff0e88e11bc"},"ros-jazzy-rosbag2-test-common-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rcutils","ros-jazzy-ros-workspace","ros-jazzy-test-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452015646,"md5":"6cb4297653ba0831f15fc20deb0c38db","name":"ros-jazzy-rosbag2-test-common","requires":[],"size":46323,"version":"0.26.6","binstar":{"package_id":"667565599459a6c7078f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"50ece4a2190fdf407ccb5e8210e3c63d083701aea42b57d91c3f194eb16170af"},"ros-jazzy-ros2multicast-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452783259,"md5":"16c3e86560e70f7d167c868d96f2bac6","name":"ros-jazzy-ros2multicast","requires":[],"size":25028,"version":"0.32.2","binstar":{"package_id":"667565919459a6c7078f3f2b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"435f8eac039019816dbf627ed4f62a5288c6647f0ff03cc452aa038dd5464044"},"ros-jazzy-launch-testing-ros-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452660412,"md5":"ee65032b93d8025f385c7729da7cf8f9","name":"ros-jazzy-launch-testing-ros","requires":[],"size":52177,"version":"0.26.6","binstar":{"package_id":"667565cc0005c4c8a48f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2745166c0446781b24e5106ca7a3d2a5032eaffc16699443f92355f0fbd1231f"},"ros-jazzy-message-filters-4.11.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452693473,"md5":"35e6e2929c39d1f6316cccf6e04428bf","name":"ros-jazzy-message-filters","requires":[],"size":75082,"version":"4.11.3","binstar":{"package_id":"667565d03c52e400df7e603b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5bb0d87048511adf13a030aa72af35e54b4abc2149ac4ef74052569c30d60cc7"},"ros-jazzy-ros2lifecycle-test-fixtures-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452718923,"md5":"f345b55ed9c567e822d003eeac489ad6","name":"ros-jazzy-ros2lifecycle-test-fixtures","requires":[],"size":40982,"version":"0.32.2","binstar":{"package_id":"667565d15db09bb2ddd428d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ffc6431b52fa34fb24d25be097479d0e93b317589e299b30a211b0bcceb45fc2"},"ros-jazzy-rosbag2-storage-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452747151,"md5":"ae0abf0cea5ab6ff067e540722e2fc59","name":"ros-jazzy-rosbag2-storage","requires":[],"size":218910,"version":"0.26.6","binstar":{"package_id":"667565d3e0ff001ead05ef06","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dabf702c4aed1696b1a641ebefe673e0b9dc44fce593d87f13c2502242f55ced"},"ros-jazzy-tf2-ros-py-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452659332,"md5":"d8bde90f5e1e7a48e4c07dcec6386d8d","name":"ros-jazzy-tf2-ros-py","requires":[],"size":48925,"version":"0.36.7","binstar":{"package_id":"667565d530d0b1886474d8a5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc980c871f67c3f4228a2a83ba6e2b4f69524f56c0b650c9c6a15843a6e4f0ca"},"ros-jazzy-ros2action-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453881535,"md5":"2bc1a0593e6b3e36dc13dc11c3fff158","name":"ros-jazzy-ros2action","requires":[],"size":45351,"version":"0.32.2","binstar":{"package_id":"6675661c8368fee6d4d428d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d106785b7661625cdb0a4b34bf7835b4a57477493d30f4999e7f65e7b444999a"},"ros-jazzy-tf2-tools-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453854776,"md5":"dd9437e9b693fdddfee870e46b686f48","name":"ros-jazzy-tf2-tools","requires":[],"size":23642,"version":"0.36.7","binstar":{"package_id":"6675661db4dec4cfa67e603e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7e17f53e730f270199c3922b9226787a79ba5526ab87413fb8c4aa7c432d4a9b"},"ros-jazzy-ros2doctor-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453866162,"md5":"9a1d06b1444815e94617107defe29457","name":"ros-jazzy-ros2doctor","requires":[],"size":67746,"version":"0.32.2","binstar":{"package_id":"6675663aadafcbac3505ef08","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec5f6581805674bd00546bdb598eaa5ddcbbe8ecbb71f703a8a96e345c81e03a"},"ros-jazzy-ros2interface-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453849975,"md5":"6c358ec199e8c44f0eb9840bf46da19e","name":"ros-jazzy-ros2interface","requires":[],"size":45652,"version":"0.32.2","binstar":{"package_id":"6675663ccfebff9e53ecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f61f4bb7d1f10230ce51e7f185f4ee01cc1a81ef3fc76d8c733080a9d9093cb"},"ros-jazzy-ros2node-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453577559,"md5":"609d165a669a299eb0c62f0b98c78a58","name":"ros-jazzy-ros2node","requires":[],"size":42096,"version":"0.32.2","binstar":{"package_id":"6675663dc38b408aa38f3f29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8636551e9ca63b14a7b7fe49988e273100811bcd98954ac45cf7bf557ae34057"},"ros-jazzy-ros2pkg-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453498575,"md5":"ed63889b7a33fef5f8db8e4f746415d2","name":"ros-jazzy-ros2pkg","requires":[],"size":57056,"version":"0.32.2","binstar":{"package_id":"6675663eebab3d2a707e603e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"528432772bd6e12a5dc9dd47a68790a2dae8e81fdffa31ae36444f63bc3a97f6"},"ros-jazzy-ros2service-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","pyyaml","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-rosidl-runtime-py","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453550286,"md5":"4189dbd29e537916613a23cbabd318e4","name":"ros-jazzy-ros2service","requires":[],"size":50425,"version":"0.32.2","binstar":{"package_id":"6675663fadafcbac3505ef0a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c6dcc1955b8a4bc2e51596106616021d63821089fd7d49b523379246f42fdc34"},"ros-jazzy-ros2test-0.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453711870,"md5":"0edb88b58ce1f0b630b8bb0d6a3b512e","name":"ros-jazzy-ros2test","requires":[],"size":33662,"version":"0.6.0","binstar":{"package_id":"66756674cfebff9e53ecef16","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"93b7fcaed47f21bb10f02b93f6381692011117556370f4a7e88336bcf01a8e90"},"ros-jazzy-ros2topic-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453807892,"md5":"0b0b59b0431ae4d5cef7bba90c004a85","name":"ros-jazzy-ros2topic","requires":[],"size":72792,"version":"0.32.2","binstar":{"package_id":"66756676401c9bca4cecef13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fd02ac0f3edb0fdc086c92f7c938da96f598106908fb229d52475c258f4ce879"},"ros-jazzy-rosbag2-storage-mcap-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453497174,"md5":"751d0c982b1c42e347af92d46a531457","name":"ros-jazzy-rosbag2-storage-mcap","requires":[],"size":167327,"version":"0.26.6","binstar":{"package_id":"6675667aee5d41cd0a2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"52bae684aa2acf3cc25bd915f8062709beba6ce5e427e8906859c373e899f0c3"},"ros-jazzy-rosbag2-storage-sqlite3-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453896775,"md5":"564a4d13d52de3c702a332583e3eddff","name":"ros-jazzy-rosbag2-storage-sqlite3","requires":[],"size":202222,"version":"0.26.6","binstar":{"package_id":"6675667cbc0b92384a2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b822d9ce97b79ac4ece943a51d646d88ee2c6810175a0db529d1b8291d0563c1"},"ros-jazzy-tf2-ros-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453598032,"md5":"c42045fe4fa0aa11b68fa8a87735cebf","name":"ros-jazzy-tf2-ros","requires":[],"size":356099,"version":"0.36.7","binstar":{"package_id":"6675668086a766acf9ecef15","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14f29cdf61ae3b3eafddd7cb435ea079cb9e9a9dc437eba9279819fd84db1f9c"},"ros-jazzy-tf2-bullet-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["bullet","python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454505895,"md5":"0675c46915e4dd352993c0253850d821","name":"ros-jazzy-tf2-bullet","requires":[],"size":40215,"version":"0.36.7","binstar":{"package_id":"667566c75505ae675c9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"425e3cc4212bb694894c6516e8ae5127bf69b5bb190e116fa86060f0058cbd25"},"ros-jazzy-tf2-sensor-msgs-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454154538,"md5":"82fa8e898965cff7fc47e8aff3bb2f00","name":"ros-jazzy-tf2-sensor-msgs","requires":[],"size":45978,"version":"0.36.7","binstar":{"package_id":"667566c9687d8fb0489f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"554f6098ec9c5cec5414643b1092c0db81c065347e61544313c5484643bc4c89"},"ros-jazzy-ros-testing-0.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454401214,"md5":"38c5cd48582e188bab254d5038bc535e","name":"ros-jazzy-ros-testing","requires":[],"size":35863,"version":"0.6.0","binstar":{"package_id":"667566e5da8f98fa7cecef14","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bade328fc28730c19077be6d2a054d4e14f63c020cff973f857493b11ce61a32"},"ros-jazzy-ros2launch-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454149809,"md5":"d4107b7db5a9e0f680a2bc40ad75055a","name":"ros-jazzy-ros2launch","requires":[],"size":45595,"version":"0.26.6","binstar":{"package_id":"667566e875511e7fcc9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"37f1cc025555bedc399622bf1ebccd9242b19f344816c4c877d90c1d05e935a7"},"ros-jazzy-ros2lifecycle-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454414223,"md5":"fdc7083ce2d8416e248910c4cb58c04d","name":"ros-jazzy-ros2lifecycle","requires":[],"size":44203,"version":"0.32.2","binstar":{"package_id":"667566ea1ab8f2d984d428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e39afe8f8f1bd98853cc85ac0d7be0424c6c218a7a811433b0999f3018b9c6f7"},"ros-jazzy-ros2param-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454342857,"md5":"91ee85772ef418b3d85ba83c367cd932","name":"ros-jazzy-ros2param","requires":[],"size":49418,"version":"0.32.2","binstar":{"package_id":"667566ec7a9b2478f19f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"590028f2268fbcc174064f89b9f50b4f5ee01b27b72a758236f64a571d44ff21"},"ros-jazzy-ros2run-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-ros2pkg","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454315782,"md5":"36f19bb5e6a45683e7d4baf36cce913c","name":"ros-jazzy-ros2run","requires":[],"size":24154,"version":"0.32.2","binstar":{"package_id":"667566ee878498f0f8b85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"568aa0ae32d34360b877a07aad6710add5287e01f040a1eefb482fb07a329735"},"ros-jazzy-robot-state-publisher-3.3.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454359424,"md5":"3a3e0e0ab1c99ce3cb8ea46c484f78de","name":"ros-jazzy-robot-state-publisher","requires":[],"size":233524,"version":"3.3.3","binstar":{"package_id":"667566f5795dd318e0ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9a6f21f74aebc2da3f5c963af0ffba0596e34070cc1b697fec02ad0bb1206d8d"},"ros-jazzy-rosbag2-storage-default-plugins-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosbag2-storage-mcap","ros-jazzy-rosbag2-storage-sqlite3","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454231882,"md5":"63c011cbf3311404bce770beb22402ea","name":"ros-jazzy-rosbag2-storage-default-plugins","requires":[],"size":20828,"version":"0.26.6","binstar":{"package_id":"667566f825603a3d39ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a3ed0b536aa88f2b4b3bccb50cde91d8e99435982b2791e4d988170b65956f13"},"ros-jazzy-tf2-eigen-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["eigen","python","ros-jazzy-geometry-msgs","ros-jazzy-ros-workspace","ros-jazzy-tf2","ros-jazzy-tf2-ros","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454271426,"md5":"7706b0b24797d1aca4aa8ae04d68761c","name":"ros-jazzy-tf2-eigen","requires":[],"size":41917,"version":"0.36.7","binstar":{"package_id":"667566fb39c3d39b8d2c5d5a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a36676ae7459d7db9af2f396da9fcb8a7b8cd8aea6050ff2e0fc9c8ae44bcdf"},"ros-jazzy-tf2-geometry-msgs-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454199650,"md5":"4699753373b18542b4ce5e389cb439f0","name":"ros-jazzy-tf2-geometry-msgs","requires":[],"size":53973,"version":"0.36.7","binstar":{"package_id":"667566fc5505ae675c9f4a2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"11d50502e036efab6b8aa3238071f21f04d883381ea843970fa55a55a696fc76"},"ros-jazzy-tf2-kdl-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454252274,"md5":"396ebd4e12331050b44a30a8c1a5f74f","name":"ros-jazzy-tf2-kdl","requires":[],"size":43782,"version":"0.36.7","binstar":{"package_id":"667566fe2f207b1976ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cfa385415732783d16b23cbe4b61b05648e0eaca45028f12f0f4e28cb1c05a96"},"ros-jazzy-geometry2-0.36.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736455199774,"md5":"4d2ad6bf69a3361a08b7d28a00aeaa08","name":"ros-jazzy-geometry2","requires":[],"size":20910,"version":"0.36.7","binstar":{"package_id":"6675676912fd2a45bb74d8ae","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f908c1ce3f0799e23115098323c7e6a2bc796e1ba789fc9e5d2a7d6a02d10b50"},"ros-jazzy-ros2component-0.32.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455190927,"md5":"c346defab27ee146f442cc67c9dc293c","name":"ros-jazzy-ros2component","requires":[],"size":38148,"version":"0.32.2","binstar":{"package_id":"6675676c4dff35ef709f4a2b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"993f257e058f67c1c739e87a12671482c6b961e43d158b269e9f964ccc045340"},"ros-jazzy-rosbag2-cpp-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455207653,"md5":"7f59682e0c82827dd5faf3d6f7a988c3","name":"ros-jazzy-rosbag2-cpp","requires":[],"size":283636,"version":"0.26.6","binstar":{"package_id":"6675676e8368fee6d4d428d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"61d0c19c657cdcb294ac65ed6696d25b00bafa3f0c67ac8f6191207a94800daa"},"ros-jazzy-sros2-0.13.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736455149094,"md5":"5a061e333873717bc14cf88ab52d33c4","name":"ros-jazzy-sros2","requires":[],"size":74577,"version":"0.13.2","binstar":{"package_id":"66756770b646f9b385b85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f0fcda25a252fe975769784698a443bf634e1d6eaa1d74a0f6304033939d2e7"},"ros-jazzy-ros2cli-common-extensions-0.3.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455420519,"md5":"867dd0064c5766353478f0943d8b6647","name":"ros-jazzy-ros2cli-common-extensions","requires":[],"size":24872,"version":"0.3.0","binstar":{"package_id":"667567c99c704a24759f4a2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f37a57e028c8f5d5da0fdbcab5eea15bfc45abfcd3771c15e50654503f3b35db"},"ros-jazzy-rosbag2-compression-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455468228,"md5":"b6b6f696f647df62240aeb1ff40cc6f7","name":"ros-jazzy-rosbag2-compression","requires":[],"size":165880,"version":"0.26.6","binstar":{"package_id":"667567caa4dcceecbbee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe7e405ea7f775f7661f8d8a64f5c609ff2cb79e62fcde2b3df6654be384c903"},"ros-jazzy-sros2-cmake-0.13.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-ros2cli","ros-jazzy-sros2","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736456479551,"md5":"13f4c2922bc3e45addfcfc7f383ba95c","name":"ros-jazzy-sros2-cmake","requires":[],"size":35824,"version":"0.13.2","binstar":{"package_id":"667567cb61e7b2aa7aee03c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7578c802e636d358b1a9c66db2feff24216db2b2d4dd4c9d3cf731726a21bcf7"},"ros-jazzy-ros-core-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736456662835,"md5":"440ee26ab15c487477a05f73bd0362e9","name":"ros-jazzy-ros-core","requires":[],"size":21508,"version":"0.11.0","binstar":{"package_id":"66756872e84fd49cacb85be6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cf5f9b1897fd117a7a3d7fee7caec8d9ec0ef94cd1446aba121ea1b0afecca86"},"ros-jazzy-rosbag2-compression-zstd-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736456541357,"md5":"ae7e465ff9d58099df88776ff058e5b7","name":"ros-jazzy-rosbag2-compression-zstd","requires":[],"size":66599,"version":"0.26.6","binstar":{"package_id":"66756875d19e4472c82b635b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"94b4b23fd73f6cf556f0e6a607d06b232507fafcec032865260b811636f69247"},"ros-jazzy-rosbag2-py-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736456886592,"md5":"bbd9397cf73a8b53f172e87abf832ff1","name":"ros-jazzy-rosbag2-py","requires":[],"size":514640,"version":"0.26.6","binstar":{"package_id":"667568788094b58af26d0c8e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"09317ebcb1791a9a33b0eee8331233b274811c7ec4c9e1668d423683386192d8"},"ros-jazzy-rosbag2-transport-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736456707287,"md5":"0533899357d6274b7a369d03d10097ed","name":"ros-jazzy-rosbag2-transport","requires":[],"size":404506,"version":"0.26.6","binstar":{"package_id":"6675688d30d72cf00ad428cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d415d29f0199c16cd390ce0444517f915569649df916f421b68e852ea6223822"},"ros-jazzy-ros-base-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736457138071,"md5":"a6c2952d4e902e68e5eb5e81d4e4db09","name":"ros-jazzy-ros-base","requires":[],"size":20841,"version":"0.11.0","binstar":{"package_id":"667568dd4082f06455b9f15e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5ae48ee4f05e8747aeb5490bfc3e11ea9961e24f3fa41637a2539da5ba7b2686"},"ros-jazzy-ros2bag-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457000574,"md5":"d89658ef1adf5ae5800f6b3ad3bcd37a","name":"ros-jazzy-ros2bag","requires":[],"size":68152,"version":"0.26.6","binstar":{"package_id":"667568deee5d41cd0a2c5d64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"edb2a9cc96a30c71d27cba8803d63c7d5efc3e84540f09d9e69a2e55f15c71c0"},"ros-jazzy-rosbag2-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457072155,"md5":"4bf33eccb400da74aaceea478cb18cd3","name":"ros-jazzy-rosbag2","requires":[],"size":33200,"version":"0.26.6","binstar":{"package_id":"667568df46886cd670aa1de2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2f95a89c7f5de1d8a02f69f6f4b06e1a44901163393cdd7c1b1ad31f96119282"},"ros-jazzy-rosbag2-tests-0.26.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ament-index-cpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457053904,"md5":"e2f94b2d21300c5e53df7120cd711850","name":"ros-jazzy-rosbag2-tests","requires":[],"size":39502,"version":"0.26.6","binstar":{"package_id":"667568e089a0a00d43ee03c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bb1266a9e427ba4fd741cde52c29213e62bdc106da5fee89a285388550a304fa"},"ros-jazzy-image-geometry-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["deprecated","libopencv","py-opencv","python","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","py-opencv >=4.10.0,<5.0a0","libopencv >=4.10.0,<4.10.1.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736451145253,"md5":"39ea29a09bc284ad775836658dfb2b4f","name":"ros-jazzy-image-geometry","requires":[],"size":72228,"version":"4.1.0","binstar":{"package_id":"66756da64b132e6fb114a0fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"06883f47dc3b9b5b5ed9ffdcf3c55859ce1ac4cca6e9c381048ca03182066d1b"},"ros-jazzy-examples-rclcpp-multithreaded-executor-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452387750,"md5":"a4752ba36ebe2c0a8498cb05b0e04550","name":"ros-jazzy-examples-rclcpp-multithreaded-executor","requires":[],"size":141820,"version":"0.19.4","binstar":{"package_id":"66756da8ac2b9777ec14a0fd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"da8bdbbae25e9121b6366e3d2cb6b1e214311166d44abe67e85a738cd07917da"},"ros-jazzy-pcl-msgs-1.0.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736451175936,"md5":"589d8947b76605f293119454a04b7370","name":"ros-jazzy-pcl-msgs","requires":[],"size":155437,"version":"1.0.0","binstar":{"package_id":"66756da8c4aa987a63ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b42da1415317ab55cfce75d6150a665604083676f7cdcbe57925d587338395a7"},"ros-jazzy-examples-rclpy-executors-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452399338,"md5":"2bc4b2b8d4690a9f5503e0de08f3fd81","name":"ros-jazzy-examples-rclpy-executors","requires":[],"size":27710,"version":"0.19.4","binstar":{"package_id":"66756daaef58f981caf03a51","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"78d008daaaf2bf3815cefc7f214f8c2cb93c4317bd4b03b8a7b4328eeca51c1a"},"ros-jazzy-examples-rclpy-minimal-publisher-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452335844,"md5":"7d1951917b1362cf45a65ccc01913d3b","name":"ros-jazzy-examples-rclpy-minimal-publisher","requires":[],"size":21839,"version":"0.19.4","binstar":{"package_id":"66756daba4dcceecbbee03ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e9333e0eebfd7904c97afbfd741acfeb5ed930c83262d1a372d7eadd0c8eb340"},"ros-jazzy-teleop-twist-keyboard-2.4.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-geometry-msgs","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452183754,"md5":"6ef94d7d8566c6eb46bba816efe3e6ce","name":"ros-jazzy-teleop-twist-keyboard","requires":[],"size":22502,"version":"2.4.0","binstar":{"package_id":"66756dadc6d1458eac51b582","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"06b9cd1aab43229d23fce179f75907dcbf55496a65a3b44df62cb1603ed67da4"},"ros-jazzy-examples-rclpy-minimal-subscriber-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452333493,"md5":"9e12013874e004cc3f6a830d4518ee94","name":"ros-jazzy-examples-rclpy-minimal-subscriber","requires":[],"size":21332,"version":"0.19.4","binstar":{"package_id":"66756dae78625d52798ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cea69cb72d8d4a0dafd580161a9eb1c106195bf1b69e15da21cc68e9cef29550"},"ros-jazzy-image-tools-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","libopencv >=4.10.0,<4.10.1.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","py-opencv >=4.10.0,<5.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736454082147,"md5":"1907ae8db7f1c11d33275c8357a62374","name":"ros-jazzy-image-tools","requires":[],"size":242632,"version":"0.33.5","binstar":{"package_id":"66756daffe5014cb182c5d5b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"791ac3c4ee21fc441192b984dae1bc810ca2e219d61e39d6614fdfaca3a6f63b"},"ros-jazzy-gz-cmake-vendor-0.0.8-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["gz-cmake3","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","libgz-cmake3 >=3.5.3,<4.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":"osx","timestamp":1736077222604,"md5":"77a61ec24e03381fe739cbc00bbb47cf","name":"ros-jazzy-gz-cmake-vendor","requires":[],"size":22795,"version":"0.0.8","binstar":{"package_id":"66756dc2ffb31659d6f03a52","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c11bcef2de2e81ab5c27fde718b4a8d540a45c1eaa2984e208299f65ed43714d"},"ros-jazzy-laser-geometry-2.7.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452234953,"md5":"4026f18e5ca2a59611811590c395ce9d","name":"ros-jazzy-laser-geometry","requires":[],"size":57631,"version":"2.7.0","binstar":{"package_id":"66756dc3a6db11e87cee03c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5a4f3c007d2d1d2d898d11617859bc9f212569af4e9064b05bf1993602897120"},"ros-jazzy-map-msgs-2.4.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736451333561,"md5":"d210e058ccd4a64d71ab7149ab580f84","name":"ros-jazzy-map-msgs","requires":[],"size":308679,"version":"2.4.1","binstar":{"package_id":"66756dc7f55dfda5a251b582","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"87ca49c96895c13792edb4fc86614cd28a0acb4a7003264a7a2e0ba75ccc3ad4"},"ros-jazzy-point-cloud-transport-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453559898,"md5":"df34ab15f3b92d422d3229bb2a0d8efe","name":"ros-jazzy-point-cloud-transport","requires":[],"size":361709,"version":"4.0.3","binstar":{"package_id":"66756dcee885780c0eee03c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"51ea4d13bcf66d34fad3d5526ddd4c77541ea0a58f2a6b69eb3f3a62c020fd51"},"ros-jazzy-tango-icons-vendor-0.3.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078127064,"md5":"094b60cdf7f36830cc96b9871af4c027","name":"ros-jazzy-tango-icons-vendor","requires":[],"size":528672,"version":"0.3.0","binstar":{"package_id":"66756dd0ab52a592462c5d5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e7c599e468af86b8f1353d2094b47edbde550f16d1b51ca4fced6131079dada7"},"ros-jazzy-intra-process-demo-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["libopencv","py-opencv","python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","py-opencv >=4.10.0,<5.0a0","libopencv >=4.10.0,<4.10.1.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736452254393,"md5":"8cf8be6264c1c0ea44bbec0372645a31","name":"ros-jazzy-intra-process-demo","requires":[],"size":376492,"version":"0.33.5","binstar":{"package_id":"66756dda9c941af3348ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e1e74f0d213f0f17a39f518f518b30669b722e80543a82bfbacaf28182d429c4"},"ros-jazzy-lifecycle-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455251494,"md5":"d75073a7310453e71bba747694ac00f5","name":"ros-jazzy-lifecycle","requires":[],"size":207653,"version":"0.33.5","binstar":{"package_id":"66756ddc42233b5cf4aa1dea","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"83669cc0c9a9cea36dda10cc9884fc94565fb59ac3fe56b5eb2104c1fb9508e4"},"ros-jazzy-logging-demo-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454041238,"md5":"e98f604d2a04c22f75b8f55b52b8aad4","name":"ros-jazzy-logging-demo","requires":[],"size":191182,"version":"0.33.5","binstar":{"package_id":"66756dde0b8eac60dd9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0c6860a79ea28b2319c2317a53182cb48879e4699e4d156a68dad62fa8c45c16"},"ros-jazzy-action-tutorials-interfaces-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450040866,"md5":"d227f19b5f97593d14e7d16b4904e7c5","name":"ros-jazzy-action-tutorials-interfaces","requires":[],"size":169254,"version":"0.33.5","binstar":{"package_id":"66756dde9b7e1b325c14a0fe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9cddb833567f3177a982f2a204fcbeb2e8f40de866a8b7a29afcfd3fb9021ec4"},"ros-jazzy-dummy-map-server-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-nav-msgs","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452249260,"md5":"2b05ec91aae706aef419d80c6e41a252","name":"ros-jazzy-dummy-map-server","requires":[],"size":78852,"version":"0.33.5","binstar":{"package_id":"66756de0880576047aaa1de7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e4b6ec3c2d3d976f7614fe2eef25ae86fbecc25afb3dcd45595598b2ba11ce7f"},"ros-jazzy-quality-of-service-demo-py-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452244091,"md5":"40604b40f4d66693ce5bd8930d572fdd","name":"ros-jazzy-quality-of-service-demo-py","requires":[],"size":34829,"version":"0.33.5","binstar":{"package_id":"66756de088da76b42d9f4a28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3fce28dd631d0fd036f494fcd9a24124414bbc6440b741236b84acd82be3491c"},"ros-jazzy-topic-monitor-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452802715,"md5":"19db1bcf1056bca9c16b37230f3ac2a8","name":"ros-jazzy-topic-monitor","requires":[],"size":49026,"version":"0.33.5","binstar":{"package_id":"66756de203450ee206ee03bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"379b03628ee4f1d6c12cab385db76450a5c2247946631bd81269eb0c240cfd89"},"ros-jazzy-dummy-sensors-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452199543,"md5":"b7cae9518c112382f305269cabd8e342","name":"ros-jazzy-dummy-sensors","requires":[],"size":103478,"version":"0.33.5","binstar":{"package_id":"66756de2dc74417f23aa1de6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eca00eba6ff5405413dbab8ea2a75a0b668e5b4d00e66c1f92700b83323313ab"},"ros-jazzy-pendulum-msgs-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450081258,"md5":"7773ee4ae8394b164f14a847bc075196","name":"ros-jazzy-pendulum-msgs","requires":[],"size":92956,"version":"0.33.5","binstar":{"package_id":"66756de40e41b4d892899849","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f6c32d279c69d95f0b1b84591f56544d1f4e1f65b46556b7cefea8a9bf33c3ed"},"ros-jazzy-turtlesim-1.8.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736452663354,"md5":"f72a930a3ef545733a0d003cbd2d1827","name":"ros-jazzy-turtlesim","requires":[],"size":731043,"version":"1.8.3","binstar":{"package_id":"66756de5256864bea9899847","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9648746b341d7f9d2fd95f71b6856dd81cfb313043625cfd043f81432d66ab7f"},"ros-jazzy-demo-nodes-cpp-native-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453502400,"md5":"9f9f3e419d040c294ca2f95789a0829b","name":"ros-jazzy-demo-nodes-cpp-native","requires":[],"size":108827,"version":"0.33.5","binstar":{"package_id":"66756dec834184236ff03a53","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"efe439bf1801014a8e08dca040e40d708d8626872abba596620a18f2a935f4e7"},"ros-jazzy-examples-rclcpp-minimal-composition-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453025261,"md5":"68f7c157de31b06c4ac98877c3e2ffe9","name":"ros-jazzy-examples-rclcpp-minimal-composition","requires":[],"size":154075,"version":"0.19.4","binstar":{"package_id":"66756ded25603a3d39ee03c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"18a2cd03516b039f6bcab4dc48d6b24051f583f671febca2cc922fe4b134e3a0"},"ros-jazzy-examples-rclcpp-minimal-publisher-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452545991,"md5":"7f52338aad195c0513de7b81b7f32ea3","name":"ros-jazzy-examples-rclcpp-minimal-publisher","requires":[],"size":160488,"version":"0.19.4","binstar":{"package_id":"66756dee42233b5cf4aa1dec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c6b59b53d705f9c71ba0bc50345f59be24422f69a17ea69d4962a72ffa86cb3a"},"ros-jazzy-examples-rclcpp-minimal-subscriber-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452929495,"md5":"5fc8ca1630238799e770d63b6b2d65cb","name":"ros-jazzy-examples-rclcpp-minimal-subscriber","requires":[],"size":436043,"version":"0.19.4","binstar":{"package_id":"66756df07e40df0ae6f03a51","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"38fd2fff197f78331ea169655b8c8a1bb2d11a8f4902ea2f3bfe3fd716eaff8f"},"ros-jazzy-examples-rclcpp-minimal-timer-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452479315,"md5":"459e5deffb920dae24c1b5715c2cb14c","name":"ros-jazzy-examples-rclcpp-minimal-timer","requires":[],"size":45853,"version":"0.19.4","binstar":{"package_id":"66756df12f207b1976ee03c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"552bfa2331d0819240e308d10bd6f129a5a357bdf270082e84dc12c2836872ff"},"ros-jazzy-cv-bridge-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","py-opencv >=4.10.0,<5.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libopencv >=4.10.0,<4.10.1.0a0","libboost-python >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736452130919,"md5":"bc14a4559b9148258086b3c810d65f30","name":"ros-jazzy-cv-bridge","requires":[],"size":163687,"version":"4.1.0","binstar":{"package_id":"66756e019b7e1b325c14a101","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"87a3192d2150d3a14114b3842cfd6fccd3efb5fdf18b0a0a4287008cf3d34ca1"},"ros-jazzy-example-interfaces-0.12.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450017446,"md5":"07ca00dbbca67ae983ec260bb18b070b","name":"ros-jazzy-example-interfaces","requires":[],"size":466477,"version":"0.12.0","binstar":{"package_id":"66756e02ff629eabab2c5d5d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cbbca7fcbecf389c0f2acb7ff32961dc9a57f67c99236846872c4a79230039de"},"ros-jazzy-image-transport-5.1.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453623195,"md5":"e0edb85c8fe0513e43bda257b1ca2b4a","name":"ros-jazzy-image-transport","requires":[],"size":434575,"version":"5.1.5","binstar":{"package_id":"66756e03074cff9aae8ce548","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8b92600d2045aae0517565ff37591a47475a9a7cbaa654131719ec377db69f1"},"ros-jazzy-interactive-markers-2.5.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736455340761,"md5":"ecfc919e0d9e6ab31e34818b391f1336","name":"ros-jazzy-interactive-markers","requires":[],"size":262138,"version":"2.5.4","binstar":{"package_id":"66756e044b132e6fb114a100","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"526836c0f29ab6393e9b0e0d38b8710beb612ffc8b296b467eae5b913bc8c3e1"},"ros-jazzy-sdl2-vendor-3.3.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sdl2","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","sdl2 >=2.30.10,<3.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735905097506,"md5":"7c45ef91d0b76c18fe5e8286e5aaf614","name":"ros-jazzy-sdl2-vendor","requires":[],"size":21429,"version":"3.3.0","binstar":{"package_id":"66756e06073efbe82e2c5d5c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"390b51deb2163a5adf5189df752f8a1ef69eec45b0822be2ccaba9be71e42c64"},"ros-jazzy-sdl2-vendor-3.3.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sdl2","__osx >=10.14","libcxx >=19","sdl2 >=2.30.10,<3.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":"osx","timestamp":1736073091389,"md5":"0990880ae84f3d0887b59ec76fa252b5","name":"ros-jazzy-sdl2-vendor","requires":[],"size":21432,"version":"3.3.0","binstar":{"package_id":"66756e06073efbe82e2c5d5c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4be3c7a1116ada0cd4b8671f7d96d951202aa97f02bfe80a9f8a3df3233c867a"},"ros-jazzy-urdfdom-py-1.2.1-h0dc7051_0.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["urdfdom-py 1.2.1.*","python 3.11.* *_cpython"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735932358105,"md5":"086fead10450aabe0e18a88e86ad9377","name":"ros-jazzy-urdfdom-py","requires":[],"size":1841,"version":"1.2.1","binstar":{"package_id":"6777b8a04d249915aae62866","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c2bc5ae9a7d465edf9bc1c645f4ba33b4e2b82daf2e680d26abe0de29c7a86be"},"ros-jazzy-apriltag-3.4.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libopencv >=4.10.0,<4.10.1.0a0","py-opencv >=4.10.0,<5.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485749728,"md5":"3c38f8eead1421a340714ffa4fc6f350","name":"ros-jazzy-apriltag","requires":[],"size":1348652,"version":"3.4.2","binstar":{"package_id":"6777b934e487d3e8fe01b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d9929646befe7028a97b14265596a6733f893a6384b25c23b8d436405ea20124"},"ros-jazzy-ros-industrial-cmake-boilerplate-0.5.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","gtest >=1.15.2,<1.15.3.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libclang13 >=19.1.6","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486553049,"md5":"99ab0982bdffc0c1beee3fe7f3f3194f","name":"ros-jazzy-ros-industrial-cmake-boilerplate","requires":[],"size":39647,"version":"0.5.4","binstar":{"package_id":"6777b9359ebfe4a7a7e461e6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ffc95b7ebf0e0dce6806803217e6dbe29fb732c751ebef2151a1ce8a8897dad7"},"ros-jazzy-gtsam-4.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["eigen","libboost-devel","libboost-python-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","tbb","tbb-devel","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","tbb >=2022.0.0","libboost-python >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","libboost >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485940909,"md5":"9d01e587430a0e6007a3f3b9a0e12ed3","name":"ros-jazzy-gtsam","requires":[],"size":3335794,"version":"4.2.0","binstar":{"package_id":"6777bdf9c6e1dff6c53bfa4c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"28535249f57ce7c553318863c6e7c0f1e48bec83aae435e5a57b599222eae7b2"},"ros-jazzy-ompl-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["eigen","flann","libboost-devel","libboost-python-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost-python >=1.86.0,<1.87.0a0","libboost >=1.86.0,<1.87.0a0","ompl >=1.6.0,<1.7.0a0","flann >=1.9.2,<1.9.3.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485958078,"md5":"b453e9b4f96aa2512ebeeccf256daddc","name":"ros-jazzy-ompl","requires":[],"size":16844,"version":"1.6.0","binstar":{"package_id":"6777bdfdac57d54df901b10d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fa53e2bc7014ec2678f633e3df17ddd322ed7bb9db02fbf36ee9a3f002504bcc"},"ros-jazzy-ruckig-0.9.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485662485,"md5":"a5b65936b4dec0aa9fe32c174d2e472d","name":"ros-jazzy-ruckig","requires":[],"size":90070,"version":"0.9.2","binstar":{"package_id":"6777bdff880560535dbbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4717adec76e49657050341aab3ad9c6a92d1a0d9f5a5da907399bbef6a3d62a0"},"ros-jazzy-sdformat-test-files-1.0.2-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["cmake","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735902818238,"md5":"ff87e9def0e237c598acb53c5b9777a9","name":"ros-jazzy-sdformat-test-files","requires":[],"size":102854,"version":"1.0.2","binstar":{"package_id":"6777be01c6e1dff6c53bfa4e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e28186dedb7f6a63f0b65731d00d473a2084c6ea1f347f2c7c5b046fecf2ee4c"},"ros-jazzy-sdformat-test-files-1.0.2-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["cmake","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736071907073,"md5":"e16c28f71631da5d32de79103028fe25","name":"ros-jazzy-sdformat-test-files","requires":[],"size":102900,"version":"1.0.2","binstar":{"package_id":"6777be01c6e1dff6c53bfa4e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ab0ded0d567dd618224b45263e03920e407ef3cc98e22af77980d8a03597884c"},"ros-jazzy-backward-ros-1.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485628750,"md5":"0997392f085e4da8900d5dc292f326aa","name":"ros-jazzy-backward-ros","requires":[],"size":74018,"version":"1.0.6","binstar":{"package_id":"6777be81b5e0df61e2bbe835","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"03abb200d3164e8bb414a0d8e0153fa923e44fa4f77bf26852d9051f11c2607f"},"ros-jazzy-backward-ros-1.0.7-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_3","build_number":3,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738833315785,"md5":"666f6290e3addfaddac1a10f01efd63d","name":"ros-jazzy-backward-ros","requires":[],"size":74230,"version":"1.0.7","binstar":{"package_id":"6777be81b5e0df61e2bbe835","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6e3e229cf6bae487516994e191bd66c2ebcf42cd89e377ff29268d5226957ff8"},"ros-jazzy-stomp-0.1.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["console_bridge","eigen","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","console_bridge >=1.0.2,<1.1.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","gtest >=1.15.2,<1.15.3.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487063874,"md5":"2c7bc4b97014cac65cbb0209472161c8","name":"ros-jazzy-stomp","requires":[],"size":118629,"version":"0.1.2","binstar":{"package_id":"6777be840fdc98202abbe838","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec4c0c915664dc47cdda3bf4859278f74cd69fd45f49c60500199ec23bc89121"},"ros-jazzy-ament-cmake-catch2-1.4.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485842493,"md5":"b64b825b1a5ddca8aaf1494841ee7525","name":"ros-jazzy-ament-cmake-catch2","requires":[],"size":21020,"version":"1.4.1","binstar":{"package_id":"6777becb6cc931c2af4fb93c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8574efea5ecce4163a90c648a532de3aac9c8915eef0af4a42389158e7855da2"},"ros-jazzy-generate-parameter-library-py-0.3.9-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["jinja2","python","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","typeguard","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485582680,"md5":"a224da4f807a7c06c6817027d0995a5e","name":"ros-jazzy-generate-parameter-library-py","requires":[],"size":70800,"version":"0.3.9","binstar":{"package_id":"6777bf8e0fdc98202abbe840","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b2efdb5b40959e30bbd269c653067dac123e3a8131960fcb8757c18f6d8aba25"},"ros-jazzy-tcb-span-1.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485568621,"md5":"89885d3a030352f1e384dccc28184b8e","name":"ros-jazzy-tcb-span","requires":[],"size":26412,"version":"1.0.2","binstar":{"package_id":"6777bfddb5e0df61e2bbe839","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"66c7f59abe927763db37cd7e210f055665e0c3c8c01dcaedc409346c56f01075"},"ros-jazzy-tl-expected-1.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485527393,"md5":"726fb88b61dc225bd1d971209a7f1a43","name":"ros-jazzy-tl-expected","requires":[],"size":32020,"version":"1.0.2","binstar":{"package_id":"6777bfdf6cc931c2af4fb940","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"92c336ada5bc046df87b3e0af842866784b308a1c96d0526af76c740781e9186"},"ros-jazzy-ros2-control-test-assets-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485519259,"md5":"194e5b740a3d9804cc7f43f0a0e39b69","name":"ros-jazzy-ros2-control-test-assets","requires":[],"size":29502,"version":"4.23.0","binstar":{"package_id":"6777bfe10fdc98202abbe844","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9adc64dad4ffce56b01dcd7f1705803d21bcbb9439543b215b1e06a2614800e5"},"ros-jazzy-angles-1.16.0-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904886190,"md5":"41cb2679f9f5a1a57789655e093a42f4","name":"ros-jazzy-angles","requires":[],"size":31116,"version":"1.16.0","binstar":{"package_id":"6777bfe512934ced4901b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b068cd0a58737baf53371ee72a1b1254e44833a0e9120d76616399eaf9878086"},"ros-jazzy-angles-1.16.0-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073139891,"md5":"da21fcdaf3d90b5762805c89e12873fa","name":"ros-jazzy-angles","requires":[],"size":31125,"version":"1.16.0","binstar":{"package_id":"6777bfe512934ced4901b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dab8e494b750a83de2f0d5fff9224bc7369e0a2d1ae08ac3811ee303fee2625a"},"ros-jazzy-angles-1.16.0-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_3","build_number":3,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1737495953756,"md5":"05283d9b73d5f3a385d1428ccc71abcd","name":"ros-jazzy-angles","requires":[],"size":31251,"version":"1.16.0","binstar":{"package_id":"6777bfe512934ced4901b109","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3b8c5396f3cd79096bf075763962a07a8dd954689c7a50f570e82120898c4789"},"ros-jazzy-moveit-common-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-backward-ros","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486934118,"md5":"1d3775fa0c69cd762c12d026b16b5fc3","name":"ros-jazzy-moveit-common","requires":[],"size":22548,"version":"2.12.1","binstar":{"package_id":"6777bfe71d825a17294fb940","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b508b147f3dfbeedf4033c50e25df0e07c224e47a80c0dfd38adc60716fcda25"},"ros-jazzy-moveit-resources-fanuc-description-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486346386,"md5":"dd4129c481dd97bbfe032e14383c6c8b","name":"ros-jazzy-moveit-resources-fanuc-description","requires":[],"size":152001,"version":"3.1.0","binstar":{"package_id":"6777bfe91d825a17294fb942","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d37e37d7bf043fe55bbcf383408cfbe580b8cbf73407d126336779aa96f906ea"},"ros-jazzy-eigen-stl-containers-1.0.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["eigen","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485701171,"md5":"0cd7d4d9c819ae03a918a45a903e88ec","name":"ros-jazzy-eigen-stl-containers","requires":[],"size":22632,"version":"1.0.0","binstar":{"package_id":"6777bfeba7245de1734fb94a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b5a98f22fef992f22bab96fdfe07b1052e9bdb8dfb32e0279b6c48b6b27dc16f"},"ros-jazzy-moveit-resources-pr2-description-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485733460,"md5":"a8b28df373c7f9f21d887e28702f9987","name":"ros-jazzy-moveit-resources-pr2-description","requires":[],"size":25201917,"version":"3.1.0","binstar":{"package_id":"6777bfebe72d566cbfbbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e0cec06b220c54b61b8ea5baf58b135c6ad807da2e29069be6b80c396cc9e8bb"},"ros-jazzy-libcurl-vendor-3.4.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["libcurl","pkg-config","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libcurl >=8.11.1,<9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735904843064,"md5":"05e3ad3947520cc9600259e141933e28","name":"ros-jazzy-libcurl-vendor","requires":[],"size":22150,"version":"3.4.3","binstar":{"package_id":"6777bfed080f624e0c3bfa58","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"724cb80b2855affc1d830a2cd4bf9146292470805018f786b4e0003cd38846a9"},"ros-jazzy-libcurl-vendor-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["libcurl","pkg-config","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","libcurl >=8.11.1,<9.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":"osx","timestamp":1736073105799,"md5":"43fb5ac25ef222464b33598d5a937436","name":"ros-jazzy-libcurl-vendor","requires":[],"size":22146,"version":"3.4.3","binstar":{"package_id":"6777bfed080f624e0c3bfa58","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fc897d9d0455d58591604339c6dc900dba04f47a613836c964cf023969cbaeb6"},"ros-jazzy-moveit-resources-panda-description-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485544262,"md5":"eef25d11879a6018d53ab15ea37b271b","name":"ros-jazzy-moveit-resources-panda-description","requires":[],"size":3696241,"version":"3.1.0","binstar":{"package_id":"6777bfefe72d566cbfbbe838","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0014ae69777ba653bdca95ebb57358c7eeed099772584221c7fae1837374cdaa"},"ros-jazzy-random-numbers-2.0.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["libboost","libboost-devel","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485670538,"md5":"ec88efd0eebff29cdeeff0bb017a5240","name":"ros-jazzy-random-numbers","requires":[],"size":41705,"version":"2.0.1","binstar":{"package_id":"6777bff19fbe0777ad01b10e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"94f03aa1e7dd5b57307dae005f2fc446617ccb0c9c1275649024798418ce7f92"},"ros-jazzy-xacro-2.0.11-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1735904864680,"md5":"8cab7edb725feef2b44bfcbd82de8345","name":"ros-jazzy-xacro","requires":[],"size":76315,"version":"2.0.11","binstar":{"package_id":"6777bff40fdc98202abbe846","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ef2f48bf24a6eae597c70dc255fd7e40c3d57e00a026eab89c6ccd4c8c9f1c71"},"ros-jazzy-xacro-2.0.11-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736073122632,"md5":"4d62f3c386a479e71f85b3b85b942b68","name":"ros-jazzy-xacro","requires":[],"size":76314,"version":"2.0.11","binstar":{"package_id":"6777bff40fdc98202abbe846","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe2d84ce0fd02747c3a705a08746d54596c85d0ca2c1f55bf9964a150574d253"},"ros-jazzy-moveit-resources-prbt-support-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485936362,"md5":"bbaa07940ce9e363c61ca86dc9e5e3b9","name":"ros-jazzy-moveit-resources-prbt-support","requires":[],"size":949822,"version":"2.12.1","binstar":{"package_id":"6777c03a9a883b4aba01b107","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5a3d5e9d34c67aabf023a84e8d0f77d70860be7dcf8b196e25919d731e344322"},"ros-jazzy-gz-dartsim-vendor-0.0.3-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_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","__osx >=10.14","libcxx >=19","libboost >=1.86.0,<1.87.0a0","tinyxml2 >=10.0.0,<11.0a0","python_abi 3.11.* *_cp311","dartsim-cpp >=6.15.0,<6.16.0a0","urdfdom >=4.0.1,<4.1.0a0","libccd-double >=2.1,<2.2.0a0","numpy >=1.26.4,<2.0a0","fcl >=0.7.0,<0.8.0a0","fmt >=11.0.2,<12.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","assimp >=5.4.3,<5.4.4.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735908714936,"md5":"b594b52725611724738d536c832ba5dc","name":"ros-jazzy-gz-dartsim-vendor","requires":[],"size":30219,"version":"0.0.3","binstar":{"package_id":"6777c15c1d825a17294fb946","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"03377263cc316210120392b899e50f9aea61bd7b15ac7c3ba50f06e730bcc753"},"ros-jazzy-gz-dartsim-vendor-0.0.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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","__osx >=10.14","libcxx >=19","fmt >=11.0.2,<12.0a0","fcl >=0.7.0,<0.8.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","dartsim-cpp >=6.15.0,<6.16.0a0","libccd-double >=2.1,<2.2.0a0","numpy >=1.26.4,<2.0a0","urdfdom >=4.0.1,<4.1.0a0","assimp >=5.4.3,<5.4.4.0a0","python_abi 3.11.* *_cp311","libboost >=1.86.0,<1.87.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077180853,"md5":"af071beb3ac8af8772ae74cbd80dac43","name":"ros-jazzy-gz-dartsim-vendor","requires":[],"size":30237,"version":"0.0.3","binstar":{"package_id":"6777c15c1d825a17294fb946","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eeb6b20b9d057d764f8a110d64969f18dee9b5eb54d9278c7da42384acc04850"},"ros-jazzy-gz-ogre-next-vendor-0.0.5-np126py311h2dc9425_1.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_1","build_number":1,"depends":["freeimage","freetype","glslang","libboost-devel","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","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","poco >=1.14.0,<1.14.1.0a0","glslang >=12,<13.0a0","xorg-libxrandr >=1.5.4,<2.0a0","freetype >=2.12.1,<3.0a0","xorg-libxext >=1.3.6,<2.0a0","tbb >=2022.0.0","sdl2 >=2.30.10,<3.0a0","numpy >=1.26.4,<2.0a0","ogre-next >=2.3.3,<2.3.4.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","zziplib >=0.13.69,<0.14.0a0","freeimage >=3.18.0,<3.19.0a0","libboost >=1.86.0,<1.87.0a0","shaderc >=2023.6,<2023.7.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1735908632758,"md5":"57f30607bab082054167ef2b9e35b48f","name":"ros-jazzy-gz-ogre-next-vendor","requires":[],"size":32104,"version":"0.0.5","binstar":{"package_id":"6777c160726ad61dcbbbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6ddbb8750755c93ea6f278a232863231328c596272da66c9417e3f76573cf99b"},"ros-jazzy-gz-ogre-next-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["freeimage","freetype","glslang","libboost-devel","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","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","sdl2 >=2.30.10,<3.0a0","freetype >=2.12.1,<3.0a0","glslang >=12,<13.0a0","tbb >=2022.0.0","poco >=1.14.0,<1.14.1.0a0","ogre-next >=2.3.3,<2.3.4.0a0","python_abi 3.11.* *_cp311","libboost >=1.86.0,<1.87.0a0","xorg-libxext >=1.3.6,<2.0a0","freeimage >=3.18.0,<3.19.0a0","xorg-libxrandr >=1.5.4,<2.0a0","tinyxml2 >=10.0.0,<11.0a0","zziplib >=0.13.69,<0.14.0a0","shaderc >=2023.6,<2023.7.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077133491,"md5":"d2c8627c095223b8a97b74a9f1139207","name":"ros-jazzy-gz-ogre-next-vendor","requires":[],"size":32106,"version":"0.0.5","binstar":{"package_id":"6777c160726ad61dcbbbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f79c6b7683b47cf5bdb4392dd3ce63788b2148cc537a6fe7178affb2e72c1c8"},"ros-jazzy-launch-pytest-3.4.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485923028,"md5":"856597d21dd89c32855c3e73a6846eb9","name":"ros-jazzy-launch-pytest","requires":[],"size":47720,"version":"3.4.3","binstar":{"package_id":"6777c1646cc931c2af4fb946","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b5df44127bfcaddf02795f3bb43126bf49bdef9aecc1efb91236d8afcf83d94"},"ros-jazzy-rviz-assimp-vendor-14.1.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["assimp","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","assimp >=5.4.3,<5.4.4.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077841352,"md5":"8e49bb5f9f346a04975f63d33c199452","name":"ros-jazzy-rviz-assimp-vendor","requires":[],"size":23155,"version":"14.1.6","binstar":{"package_id":"6777c25ecb96cd07983bfa53","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"61ea6cb375c4e9ea944c7743d5956a65d03fdb54229f6d02769101df66028fe4"},"ros-jazzy-rviz-ogre-vendor-14.1.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["assimp","freetype","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","xorg-libx11","xorg-libxaw","xorg-libxrandr","xorg-xorgproto","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","freetype >=2.12.1,<3.0a0","assimp >=5.4.3,<5.4.4.0a0","libzlib >=1.3.1,<2.0a0","xorg-libxrandr >=1.5.4,<2.0a0","zziplib >=0.13.69,<0.14.0a0","pugixml >=1.14,<1.15.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","freeimage >=3.18.0,<3.19.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077242909,"md5":"ea6e56af58c8a22b00c4092251c58229","name":"ros-jazzy-rviz-ogre-vendor","requires":[],"size":4273197,"version":"14.1.6","binstar":{"package_id":"6777c2621ef605a0814fb94a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d939ffa93a1e319574274d44b7e905cc69977e639625b37d8f7ff6dbf19c2171"},"ros-jazzy-gz-tools-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["gz-tools2","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","ruby","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-tools2 >=2.0.1,<3.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077978862,"md5":"efdf00f8fbf31d287afc4aaa9d50f3c2","name":"ros-jazzy-gz-tools-vendor","requires":[],"size":24846,"version":"0.0.5","binstar":{"package_id":"6777c2c1c95d6fa79f3bfa4e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2b46ac42d77eb932244eec7f57de0ce8ad3609744947898008e1cddbca4c114d"},"ros-jazzy-osqp-vendor-0.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485705047,"md5":"ac2e83f65e5bdf61501ab6c77bd7618a","name":"ros-jazzy-osqp-vendor","requires":[],"size":113026,"version":"0.2.0","binstar":{"package_id":"6777c2c276318dc690bbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"715d2086410ee148fd57d723076bdd5b344dbc0d56b96323bf0756f89ebb1303"},"ros-jazzy-gz-utils-vendor-0.0.4-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["gz-utils2","python","ros-jazzy-gz-cmake-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-utils2 >=2.2.0,<3.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736077961972,"md5":"408ecb4afe2e8be71b1b4266497adaf8","name":"ros-jazzy-gz-utils-vendor","requires":[],"size":24157,"version":"0.0.4","binstar":{"package_id":"6777c2c36c8a45ba683bfa59","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8ec58f51be82a35aacb7f91163d3277dd68267829a83f91b4947e8ebd9bc965a"},"ros-jazzy-python-qt-binding-2.2.1-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pyqt","pyqt-builder","python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","pyqt >=5.15.9,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078070658,"md5":"440a606b0a399c3be0bfaba402e32d8e","name":"ros-jazzy-python-qt-binding","requires":[],"size":53033,"version":"2.2.1","binstar":{"package_id":"6777c2c4e487d3e8fe01b120","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a0a168e3a0638121ec9c5862ccc5d3bcf76afd50863ebaf596f9a1cd30158a81"},"ros-jazzy-smclib-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485780436,"md5":"5416ae7f13db6a002a73e888a6704af8","name":"ros-jazzy-smclib","requires":[],"size":35423,"version":"4.1.0","binstar":{"package_id":"6777c2c657ecb6e67601b127","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0b18419d12e7ddcae7ab63080e0da9a99c4e39e0351d4519fd581687c21714fb"},"ros-jazzy-qt-dotgraph-2.7.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["pydot","python","ros-jazzy-python-qt-binding","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078683669,"md5":"b0424390576c9d2fb3e194c3c998d533","name":"ros-jazzy-qt-dotgraph","requires":[],"size":56590,"version":"2.7.5","binstar":{"package_id":"6777c42a7b74ce9ea13bfa4d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fde1ff2dd046ad30538892a1b69a56954063e148fdbed115870c23b00234648c"},"ros-jazzy-qt-gui-py-common-2.7.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-ament-index-python","ros-jazzy-python-qt-binding","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078648871,"md5":"c7ead70f7d6ddd93f925c7c8fbea4b34","name":"ros-jazzy-qt-gui-py-common","requires":[],"size":38011,"version":"2.7.5","binstar":{"package_id":"6777c42b8f28bfae64ee3f5e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b6474ef60c1977e64dedd64726935f2551e1047a2605025e6362b325655767b2"},"ros-jazzy-tracetools-image-pipeline-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485871124,"md5":"979788be03afd9be3d33ddf47efb82fd","name":"ros-jazzy-tracetools-image-pipeline","requires":[],"size":33730,"version":"5.0.6","binstar":{"package_id":"6777c42c9e210c51f0bbe834","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7e2b44abaed3a200756a78c22bd81ce4e117c3096a3aa926aa4aba3378dcf338"},"ros-jazzy-gz-math-vendor-0.0.7-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-math7 >=7.5.1,<8.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078520933,"md5":"291dc54ae7f32382403601f787d1fd79","name":"ros-jazzy-gz-math-vendor","requires":[],"size":26012,"version":"0.0.7","binstar":{"package_id":"6777c44270a374103d3b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"decd6621e1055c0e4ea1f587aa87671153d27f3ee096af8fdcff549a111661ee"},"ros-jazzy-gz-plugin-vendor-0.0.4-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736078560165,"md5":"b377c191c5561320817c544458055e88","name":"ros-jazzy-gz-plugin-vendor","requires":[],"size":25992,"version":"0.0.4","binstar":{"package_id":"6777c444283e553519ee3f5e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b4d7acf504ecf707ebef9a3ea6a46dde5ad633a7087867bba4eb236ef7be08bc"},"ros-jazzy-qt-gui-2.7.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","qt-main >=5.15.15,<5.16.0a0","xorg-libx11 >=1.8.10,<2.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","pyqt >=5.15.9,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078582635,"md5":"67b52123cad584462a06627bcedddd75","name":"ros-jazzy-qt-gui","requires":[],"size":169006,"version":"2.7.5","binstar":{"package_id":"6777c4452e18f789063b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"83ba767d9a202ff410902233357770155efd63bdb3f642a2d5b859a52e367a7a"},"ros-jazzy-resource-retriever-3.4.3-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736078538212,"md5":"d72d8a56aab079901537d3edc76c27ba","name":"ros-jazzy-resource-retriever","requires":[],"size":40728,"version":"3.4.3","binstar":{"package_id":"6777c446e98b99d2473b969c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bdb12ea5dfe2e89ee364c9641b9cb65af6f4caabbf5d861072a15d2220a27bd4"},"ros-jazzy-gz-common-vendor-0.0.7-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["assimp","ffmpeg","freeimage","gts","gz-common5","libgdal","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","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","freeimage >=3.18.0,<3.19.0a0","libgz-common5 >=5.6.0,<6.0a0","tinyxml2 >=10.0.0,<11.0a0","ffmpeg >=7.1.0,<8.0a0","gts >=0.7.6,<0.8.0a0","libgdal-core >=3.10.0,<3.11.0a0","libgdal >=3.10.0,<3.11.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","assimp >=5.4.3,<5.4.4.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078767781,"md5":"79905c5c51b9d75fee711982724e87cb","name":"ros-jazzy-gz-common-vendor","requires":[],"size":43726,"version":"0.0.7","binstar":{"package_id":"6777c497d42833eb3fbbe839","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7de6ad2c1652fb8d904f86a2cebac7a5e34e31fc37b95adc367afb091cfb3da0"},"ros-jazzy-gz-msgs-vendor-0.0.5-np126py311h071c481_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h071c481_2","build_number":2,"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","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","libprotobuf >=5.28.2,<5.28.3.0a0","libgz-msgs10 >=10.3.0,<11.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078727823,"md5":"b7aeb8e3d175f12d51bca02b0db7a4d7","name":"ros-jazzy-gz-msgs-vendor","requires":[],"size":28306,"version":"0.0.5","binstar":{"package_id":"6777c49d43a826f1353bfa4f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a1090184a89e44a16696b18ccf9afc030b644ff04ea11ccb7845ab007cf126ba"},"ros-jazzy-rviz-rendering-14.1.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libx11 >=1.8.10,<2.0a0","glew >=2.1.0,<2.2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078823573,"md5":"d491d941ec4ca2a8f8e4d69b13788f54","name":"ros-jazzy-rviz-rendering","requires":[],"size":877497,"version":"14.1.6","binstar":{"package_id":"6777c4c85687576dae3b96a1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b10512b30474bba6af40a57abd0bda58badebb0551e7dec7db0d23c9d5e731c"},"ros-jazzy-sdformat-vendor-0.0.8-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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","__osx >=10.14","libcxx >=19","__osx >=10.14","libsdformat14 >=14.5.0,<15.0a0","libxml2 >=2.13.5,<3.0a0","tinyxml2 >=10.0.0,<11.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":"osx","timestamp":1736078801041,"md5":"825dd4a52b934e8561b11d31380ca670","name":"ros-jazzy-sdformat-vendor","requires":[],"size":28795,"version":"0.0.8","binstar":{"package_id":"6777c4c99cf4135cd5ee3f5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"084e5bed5957586023ca47a917aac936760841a7564cb045ab7f8447e17a6376"},"ros-jazzy-gz-fuel-tools-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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","__osx >=10.14","libcxx >=19","libgz-fuel-tools9 >=9.0.3,<10.0a0","libcurl >=8.11.1,<9.0a0","numpy >=1.26.4,<2.0a0","yaml >=0.2.5,<0.3.0a0","jsoncpp >=1.9.6,<1.9.7.0a0","libzip >=1.11.2,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","gflags >=2.2.2,<2.3.0a0","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079053546,"md5":"8be50cf31719b5a195130f218202d830","name":"ros-jazzy-gz-fuel-tools-vendor","requires":[],"size":45710,"version":"0.0.5","binstar":{"package_id":"6777c5266c8a45ba683bfa64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"92e0a66443d05db5d40b5cc92ab27a1b1ed736e0f16bffb3e4f88fcbd39f14b5"},"ros-jazzy-gz-physics-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","libgz-physics7 >=7.3.0,<8.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079008229,"md5":"05e92e514b95baa698b0cfe5b3863f0b","name":"ros-jazzy-gz-physics-vendor","requires":[],"size":52734,"version":"0.0.5","binstar":{"package_id":"6777c52a9e210c51f0bbe836","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e70e60b9b04516dcb5a18c90ea12277e0d5e89d246ac786310f177a1571ea817"},"ros-jazzy-gz-rendering-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["freeimage","glew","gz-rendering8","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","__osx >=10.14","libcxx >=19","glew >=2.1.0,<2.2.0a0","numpy >=1.26.4,<2.0a0","ogre >=1.10.12.1,<1.11.0a0","xorg-libxmu >=1.2.1,<2.0a0","freeimage >=3.18.0,<3.19.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","xorg-libxi >=1.8.2,<2.0a0","libgz-rendering8 >=8.2.0,<9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736078936637,"md5":"2968d233419fd5763da0e42e1c2a576a","name":"ros-jazzy-gz-rendering-vendor","requires":[],"size":52236,"version":"0.0.5","binstar":{"package_id":"6777c52c76318dc690bbe83d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"89b09c3cd5b3b2d6d79bcf2e5ca19a3f89dd113da0ca0a15e5f7c4dc2aa381af"},"ros-jazzy-gz-transport-vendor-0.0.5-np126py311h071c481_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h071c481_2","build_number":2,"depends":["cppzmq","gz-transport13","libprotobuf","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","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libsqlite >=3.47.2,<4.0a0","numpy >=1.26.4,<2.0a0","zeromq >=4.3.5,<4.4.0a0","libprotobuf >=5.28.2,<5.28.3.0a0","libgz-transport13 >=13.4.0,<14.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079091260,"md5":"a097aedfe5a77a00a6e1cede1ecb9758","name":"ros-jazzy-gz-transport-vendor","requires":[],"size":29898,"version":"0.0.5","binstar":{"package_id":"6777c52fe7bc1962d8ee3f5f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0667205a04609f83ab315ec2f233e3569502e397c6630edb368a3bd0de418db4"},"ros-jazzy-rviz-rendering-tests-14.1.6-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"depends":["python","ros-jazzy-resource-retriever","ros-jazzy-ros-workspace","ros-jazzy-rviz-rendering","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","qt-main >=5.15.15,<5.16.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"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079039154,"md5":"1546ba00feef1c5aab82a4a202282d0d","name":"ros-jazzy-rviz-rendering-tests","requires":[],"size":32170,"version":"14.1.6","binstar":{"package_id":"6777c53c1b37c47cf0ee3f60","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"05ccc10c1b83a386d85b2ca075954cfe41a7ed388a40b99312a9369d6e274ded"},"ros-jazzy-gz-gui-vendor-0.0.4-np126py311h071c481_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h071c481_2","build_number":2,"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","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","libgz-gui8 >=8.3.0,<9.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","tinyxml2 >=10.0.0,<11.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libprotobuf >=5.28.2,<5.28.3.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079249309,"md5":"1d8c95f953ac4de2d04f371de906df01","name":"ros-jazzy-gz-gui-vendor","requires":[],"size":56163,"version":"0.0.4","binstar":{"package_id":"6777c5964b76e5fa113b969d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4e5a33cc7c83efe93b0ccd80138fc0e0a5c932d9fa54a81337073694b893cff4"},"ros-jazzy-gz-sensors-vendor-0.0.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libgz-sensors8 >=8.2.0,<9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079157981,"md5":"8a2a139362cec02c8315ed3f4e92a9f7","name":"ros-jazzy-gz-sensors-vendor","requires":[],"size":54925,"version":"0.0.5","binstar":{"package_id":"6777c5988f28bfae64ee3f64","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a4ac7be94340b6a58136d9bcec1ba00988a8a962b4117dd41f530cadec6c8597"},"ros-jazzy-gz-sim-vendor-0.0.6-np126py311h071c481_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h071c481_2","build_number":2,"depends":["benchmark","freeimage","glew","gz-sim8","libprotobuf","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","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","xorg-libxmu >=1.2.1,<2.0a0","python_abi 3.11.* *_cp311","libprotobuf >=5.28.2,<5.28.3.0a0","libgz-sim8 >=8.6.0,<9.0a0","xorg-libxi >=1.8.2,<2.0a0","freeimage >=3.18.0,<3.19.0a0","tinyxml2 >=10.0.0,<11.0a0","glew >=2.1.0,<2.2.0a0","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079353645,"md5":"4ccf4f56663e92c96d0501711d394ad1","name":"ros-jazzy-gz-sim-vendor","requires":[],"size":62770,"version":"0.0.6","binstar":{"package_id":"6777c5fb9cd256cccc3bfa6a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"844d82aa0d1d27faccaf4f119a5ba555bf2cb0a785696d11eb01e1dfaf5893ff"},"ros-jazzy-qt-gui-cpp-2.7.5-np126py311h2dc9425_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h2dc9425_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736079597239,"md5":"5487a9c6c18920c215bc547e1ca8df27","name":"ros-jazzy-qt-gui-cpp","requires":[],"size":358263,"version":"2.7.5","binstar":{"package_id":"6777c6bc072330a8f73b969f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"abbe0b81e8fae8de7503e1587a8967b6fea8a4b4554ef646eb3239bbeeea7099"},"ros-jazzy-sdformat-urdf-1.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736449282003,"md5":"379d721b028c9026b7ab931c049fbaf1","name":"ros-jazzy-sdformat-urdf","requires":[],"size":73749,"version":"1.0.2","binstar":{"package_id":"6777c717e7bc1962d8ee3f62","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5c25d737cf7f7928d7bc31af4b7ca269f5687fe4c928ec6ae3d78d069459faf3"},"ros-jazzy-srdfdom-2.0.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","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","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485615693,"md5":"f234f6b88d910000eb3a94abb0821379","name":"ros-jazzy-srdfdom","requires":[],"size":99122,"version":"2.0.5","binstar":{"package_id":"6777c71862ba3ace18bbe84d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"259d1b22aabd316caf9d44827c39bee5bf571a935a658d0da9c07d23015f456c"},"ros-jazzy-topic-tools-interfaces-1.3.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-builtin-interfaces","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485796010,"md5":"b23162d785914f844ffe71d66a90c8d2","name":"ros-jazzy-topic-tools-interfaces","requires":[],"size":276747,"version":"1.3.2","binstar":{"package_id":"6777c8eaa24ac811b73b96a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b16083559f09680fa7bf0670aaf325c6fbafdb9c190e4ce71565a3f9d7886868"},"ros-jazzy-apriltag-msgs-2.0.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486403944,"md5":"352f9df7350e58024307dd1b3017f2e6","name":"ros-jazzy-apriltag-msgs","requires":[],"size":107434,"version":"2.0.1","binstar":{"package_id":"6777c970f11738ec7cbbe862","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"85aefbdf65c3a948eac77d5805cd74b07a54f7039c29baef464922c08ff719e2"},"ros-jazzy-ackermann-msgs-2.0.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486366891,"md5":"e5490a30e3ee38c97d6c17324bc92f4b","name":"ros-jazzy-ackermann-msgs","requires":[],"size":84277,"version":"2.0.2","binstar":{"package_id":"6777c9b1b5e0df61e2bbe853","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"182c45c24c2ea5d2841c195287acc59604375f1aa16515648f0ae291c691ec43"},"ros-jazzy-actuator-msgs-0.0.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736450395916,"md5":"f19bb239570134182c2d6fbb79e2dadd","name":"ros-jazzy-actuator-msgs","requires":[],"size":139064,"version":"0.0.1","binstar":{"package_id":"6777c9b1b89b363eb8ee3f6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"15ff29f0e5ed1360eb1baa96c85cb657d37f90d9a3bccc4da9898f5f76094337"},"ros-jazzy-gps-msgs-2.0.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450363608,"md5":"59999590a22773ce16cf4af832eaee3f","name":"ros-jazzy-gps-msgs","requires":[],"size":119658,"version":"2.0.4","binstar":{"package_id":"6777c9b2ee7f3ec9a9ee3f69","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"34d839f221e4630ae75a87d2598aef1ea2dbc9947d1fa365651f619b6a5bad3c"},"ros-jazzy-nmea-msgs-2.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485948670,"md5":"6c5bf6cc07a926a06aa7ec43ffbe7fa8","name":"ros-jazzy-nmea-msgs","requires":[],"size":183698,"version":"2.1.0","binstar":{"package_id":"6777c9b30fdc98202abbe867","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8d2589532dd370659ba25f15ebba3e7355c2baae64251e596de63539dd5d798"},"ros-jazzy-bond-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485805314,"md5":"b36372ae87d570ed6924f5d6ba91d3ce","name":"ros-jazzy-bond","requires":[],"size":86126,"version":"4.1.0","binstar":{"package_id":"6777c9b35189edf45ebbe846","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d4fae0cd721dd4899151e071b8b2a5535b9e2b81eb77da32f966ef9d4d446c08"},"ros-jazzy-controller-manager-msgs-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485723186,"md5":"70cc5163fe75aeb891b29bcd850a1ea1","name":"ros-jazzy-controller-manager-msgs","requires":[],"size":442683,"version":"4.23.0","binstar":{"package_id":"6777c9b562ba3ace18bbe850","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8063cebd3ba9aa714818b53961dde7e609e66842df132ddc9f94cd6fd72828ff"},"ros-jazzy-rtcm-msgs-1.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486368495,"md5":"ed8b2a4ab5c3077f8af60fba83d7d86a","name":"ros-jazzy-rtcm-msgs","requires":[],"size":77246,"version":"1.1.6","binstar":{"package_id":"6777c9b5b3bd3efc41bbe84b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0e73ffbb27604cd85377b35e616aad908c8c541b3c0f2c9fd4ab74dc09e4e3a9"},"ros-jazzy-velodyne-msgs-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486307798,"md5":"c3bc5e23357b724bd48696c7a557725e","name":"ros-jazzy-velodyne-msgs","requires":[],"size":90854,"version":"2.5.1","binstar":{"package_id":"6777c9b687c2334766ee3f68","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b214ddd633eb23a061e091e0e0704e6e0312146727d8ec441e2f3329c0ee162"},"ros-jazzy-geographic-msgs-1.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485604207,"md5":"d70247d45d663a77854ac6f141f17d24","name":"ros-jazzy-geographic-msgs","requires":[],"size":402230,"version":"1.0.6","binstar":{"package_id":"6777cab6e7bc1962d8ee3f65","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"be0e68537c8d2ebb1940f8c0115fc232cf99b11a4812eebf25f99da4273503af"},"ros-jazzy-nav-2d-msgs-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486408076,"md5":"857b622376e822357e3d23350688253c","name":"ros-jazzy-nav-2d-msgs","requires":[],"size":116491,"version":"1.3.4","binstar":{"package_id":"6777cab887c2334766ee3f6e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f4ee6417cfe130d07bf6c4e74825dd16834372192d0dc1129d0b54c83058e5ca"},"ros-jazzy-octomap-msgs-2.0.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485582442,"md5":"0d81f28b10077e3bbd9c3992f9e08ee6","name":"ros-jazzy-octomap-msgs","requires":[],"size":169188,"version":"2.0.1","binstar":{"package_id":"6777cab9a24ac811b73b96b4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7abd445055873afd1767a04a34410ba1003313105b5d55b574e66acfdb2d1b9a"},"ros-jazzy-ros-gz-interfaces-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450695634,"md5":"acae0dd3294b8b96a39e0e5708be0aa7","name":"ros-jazzy-ros-gz-interfaces","requires":[],"size":446866,"version":"1.0.7","binstar":{"package_id":"6777caba71d2ff3380c846c0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"19672d3ceaef9a8a6e2c5b774e7033d3c12654fc06337a59ef558c00d6fea024"},"ros-jazzy-vision-msgs-4.1.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736450589351,"md5":"ab5fb02723a794f8f7bfb26bdcb187a8","name":"ros-jazzy-vision-msgs","requires":[],"size":234321,"version":"4.1.1","binstar":{"package_id":"6777cabc0eb0c3214ec846c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5d5e200025213e75517f5ede5c059195fa2dd67a0d65986d86aa6f42f2042e69"},"ros-jazzy-dwb-msgs-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486649155,"md5":"8d2042e6df177191ac845cd5b9a50564","name":"ros-jazzy-dwb-msgs","requires":[],"size":298754,"version":"1.3.4","binstar":{"package_id":"6777cb42cd4f7fe7382fbbf3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"910eef8d6390efa6107c44f56a3aba3c2ec4454276b1ac405464af29f2ac45f6"},"ros-jazzy-control-msgs-5.3.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485560844,"md5":"2f5007893f0633be74882c95477e2681","name":"ros-jazzy-control-msgs","requires":[],"size":918440,"version":"5.3.0","binstar":{"package_id":"6777cb87189ff81bb0c846bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"04375785806794ba6ac7415747301a668527251fe8e8c9cc146d9c53378dfcf8"},"ros-jazzy-object-recognition-msgs-2.0.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485621168,"md5":"48866e3f9f4bbb1883a36f2132e0cf37","name":"ros-jazzy-object-recognition-msgs","requires":[],"size":306972,"version":"2.0.0","binstar":{"package_id":"6777cb888529c48d2aee3f69","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6bc819bebe39794cd24612968baa4b0fbd7935f24f27d8309ed4346d13c56166"},"ros-jazzy-moveit-msgs-2.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486645978,"md5":"882729de34c6abca69e6f7a57aaad9c6","name":"ros-jazzy-moveit-msgs","requires":[],"size":2286209,"version":"2.6.0","binstar":{"package_id":"6777ccb04fbc7913cd2fbbf9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"39d77b4fcb3b85aa501c5e045c0f2190dfddccfeaf6f62ed78ff86a4056a28bc"},"ros-jazzy-examples-rclpy-minimal-action-server-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452376379,"md5":"b61625d792c6a2c36fc640caea5d9ffd","name":"ros-jazzy-examples-rclpy-minimal-action-server","requires":[],"size":27441,"version":"0.19.4","binstar":{"package_id":"6777ce1fcd4f7fe7382fbbfc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2aa84c04457fce3a27c2bd45f156bdd19d30a8d8e14f00a40ad424716f47149d"},"ros-jazzy-examples-rclpy-minimal-client-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452365816,"md5":"bdc9e391cd38330eaf88a9c593e5aaa6","name":"ros-jazzy-examples-rclpy-minimal-client","requires":[],"size":23083,"version":"0.19.4","binstar":{"package_id":"6777ce20c5960d1d89c846d6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2356e1fb3713c42027cec39b20d1368d4fbda00d2032e1cb53c1d9c2265eff26"},"ros-jazzy-examples-rclpy-minimal-service-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452346215,"md5":"8b3f064b54769bbb9bfd02b3f0821ed6","name":"ros-jazzy-examples-rclpy-minimal-service","requires":[],"size":20715,"version":"0.19.4","binstar":{"package_id":"6777ce235687576dae3b96c2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d9139174c64e2a82388d0c6bf8cc004aeeea10786bf8d6c58d8eb7539cd4b619"},"ros-jazzy-action-tutorials-py-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-action-tutorials-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452437756,"md5":"90e3f84c72d308c06abe887a9564c514","name":"ros-jazzy-action-tutorials-py","requires":[],"size":30223,"version":"0.33.5","binstar":{"package_id":"6777ce3854270fe296c846ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a5945db9305b76059fcc9a4c9b25abfaa79c2f358be77f67460c83e08dc80827"},"ros-jazzy-examples-rclcpp-minimal-service-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452510499,"md5":"9bf2725c3a7867552941fb1361f68978","name":"ros-jazzy-examples-rclcpp-minimal-service","requires":[],"size":50629,"version":"0.19.4","binstar":{"package_id":"6777ce39c5779afe9bc846ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b9a4aedb31bbb14a4062d0890357fc2359152781de4296c5ce662cdd10f39805"},"ros-jazzy-examples-rclcpp-minimal-client-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452595670,"md5":"bc9df7eaee0193f1cf5b4ab516b9937f","name":"ros-jazzy-examples-rclcpp-minimal-client","requires":[],"size":55044,"version":"0.19.4","binstar":{"package_id":"6777ce3a283e553519ee3f75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a54f8dae86ebbbd605f44af72a3495da7384fc8be580e7045533c3fce0bb0d57"},"ros-jazzy-rsl-1.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","fmt >=11.0.2,<12.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","graphviz >=12.0.0,<13.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486641622,"md5":"b93d0e43e2a773ae8f13953757fae73b","name":"ros-jazzy-rsl","requires":[],"size":48731,"version":"1.1.0","binstar":{"package_id":"6777ce3dc5779afe9bc846d0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f5fc87f89289a2b74f3bd8273e820203254921f09e3baea1cadbd3eec966ae2d"},"ros-jazzy-examples-rclpy-minimal-action-client-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-example-interfaces","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452387349,"md5":"b64678e21573713ef38f1c99d79d6e22","name":"ros-jazzy-examples-rclpy-minimal-action-client","requires":[],"size":25980,"version":"0.19.4","binstar":{"package_id":"6777ce40e98b99d2473b96c6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a7692a7574f178c7e470c6954070283b5074725a6e3ba2585094bee67365962a"},"ros-jazzy-camera-calibration-parsers-5.1.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-yaml-cpp-vendor","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485912755,"md5":"3ecbba6d717b3376549290719b8f82e9","name":"ros-jazzy-camera-calibration-parsers","requires":[],"size":94903,"version":"5.1.5","binstar":{"package_id":"6777ce4e5687576dae3b96c7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2facaf13782f38f2bd7a7914f43b912990b46e825301faca67f6d879f961ddfb"},"ros-jazzy-rqt-gui-cpp-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-pluginlib","ros-jazzy-qt-gui-cpp","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libxext >=1.3.6,<2.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libx11 >=1.8.10,<2.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":"osx","timestamp":1736452124151,"md5":"4d3a998fa84377d2ca0afa853fc89369","name":"ros-jazzy-rqt-gui-cpp","requires":[],"size":154453,"version":"1.6.0","binstar":{"package_id":"6777ce50e8b8e2b2622fbc13","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8f2f55a6c21730434b04b963df182d9249e82820c34df0a1e86ce52afab2808d"},"ros-jazzy-rqt-py-common-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","qt-main >=5.15.15,<5.16.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","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736452028939,"md5":"92a4b622df2c58f64abc406eef17b502","name":"ros-jazzy-rqt-py-common","requires":[],"size":79637,"version":"1.6.0","binstar":{"package_id":"6777ce5282184074a22fbbf6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a10020e2ca28d327c8a8b07cc5567fba2bf6746e04a036899a1575d8b50288fc"},"ros-jazzy-filters-2.1.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["libboost-devel","python","ros-jazzy-pluginlib","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.14","libboost >=1.86.0,<1.87.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":"osx","timestamp":1736485804139,"md5":"3c6b0029d7d9bbd4c7ada753a3fad1e0","name":"ros-jazzy-filters","requires":[],"size":118854,"version":"2.1.2","binstar":{"package_id":"6777ce5cb89b363eb8ee3f8d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fa1ce2c366285e19220fdb22606ae603b8e36037847dee657815098fbce6e8be"},"ros-jazzy-demo-nodes-py-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452212219,"md5":"614edbd2e2155896d5c5804fd6633724","name":"ros-jazzy-demo-nodes-py","requires":[],"size":43403,"version":"0.33.5","binstar":{"package_id":"6777ce5d072330a8f73b96b4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"43bb8338d8f4e4898ed738b230ca05c338acce0b3beba53ee37ad026823ef3db"},"ros-jazzy-geometric-shapes-2.3.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","fcl >=0.7.0,<0.8.0a0","python_abi 3.11.* *_cp311","qhull >=2020.2,<2020.3.0a0","libboost >=1.86.0,<1.87.0a0","assimp >=5.4.3,<5.4.4.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","octomap >=1.10.0,<1.11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486949489,"md5":"c6b23b965aab187ffe1811f92492a506","name":"ros-jazzy-geometric-shapes","requires":[],"size":180033,"version":"2.3.1","binstar":{"package_id":"6777ce5d4fbc7913cd2fbc09","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"00153a29189bd3fbe42f54eac4c2416cc99b28580a39df8c15a4a7d3001239a7"},"ros-jazzy-behaviortree-cpp-4.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["cppzmq","python","ros-jazzy-ament-index-cpp","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","sqlite","zeromq","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","libsqlite >=3.47.2,<4.0a0","zeromq >=4.3.5,<4.4.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486081562,"md5":"c29a50a88bc4eb240882971c6607a226","name":"ros-jazzy-behaviortree-cpp","requires":[],"size":650111,"version":"4.6.2","binstar":{"package_id":"6777cefe0eb0c3214ec846de","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3d7ab5aaee53d54b1844a789d8c22d8271e6ee56eef72fa4e57a689bbbeb63a3"},"ros-jazzy-launch-param-builder-0.1.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","pyyaml","ros-jazzy-ament-index-python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-xacro","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485757173,"md5":"aed59370b629ab1c2aa7327e15e9f044","name":"ros-jazzy-launch-param-builder","requires":[],"size":26304,"version":"0.1.1","binstar":{"package_id":"6777cf044b76e5fa113b96bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"65c11438af2cc753493ef396f09913c9dd1f3472eb7b314c2a18f7f35217a5fc"},"ros-jazzy-rqt-gui-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452272659,"md5":"db92e7c3157b8ceb964fbb32dc719446","name":"ros-jazzy-rqt-gui","requires":[],"size":120627,"version":"1.6.0","binstar":{"package_id":"6777cf064fbc7913cd2fbc0f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"603584cc7062436a4bcee05f9e1c179dfbd49b30691d50718302e946f99050fd"},"ros-jazzy-parameter-traits-0.3.9-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","fmt >=11.0.2,<12.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487474968,"md5":"a29f6af0944cc172d7158fac57f41fdf","name":"ros-jazzy-parameter-traits","requires":[],"size":41848,"version":"0.3.9","binstar":{"package_id":"6777cf6eb89b363eb8ee3f91","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"df34a0cf5f392f57d70e1627f77141964fc549008e2965afd1f38b0eef4b532c"},"ros-jazzy-realtime-tools-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485596271,"md5":"5afaa33d618006fd9fd0d530e6bec328","name":"ros-jazzy-realtime-tools","requires":[],"size":65362,"version":"3.1.0","binstar":{"package_id":"6777cf710eb0c3214ec846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dd49947fa56c3b1634eda65c8f63c8bd0f8f8160941f8bfa3048539bd5604607"},"ros-jazzy-action-tutorials-cpp-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453136476,"md5":"9fd31c09b321bdba62ba0189596e1af3","name":"ros-jazzy-action-tutorials-cpp","requires":[],"size":114571,"version":"0.33.5","binstar":{"package_id":"6777cf7ae98b99d2473b96cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e990519d78adbb5ba74783d4adb9c156ed4ee982799f1da72c5b1c55d70d0260"},"ros-jazzy-depthimage-to-laserscan-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libopencv >=4.10.0,<4.10.1.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311","py-opencv >=4.10.0,<5.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736453074801,"md5":"948b020346e3b8fcf67ddd9b3304855d","name":"ros-jazzy-depthimage-to-laserscan","requires":[],"size":231107,"version":"2.5.1","binstar":{"package_id":"6777cf7b0eb0c3214ec846e7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a74923f539474d13091fbaa08b7ec89eaa10f014bc8eb3842d0512f343aa36f6"},"ros-jazzy-examples-rclcpp-minimal-action-client-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453036900,"md5":"d2bbdab1ddf9e875c48cfb19b99c29f1","name":"ros-jazzy-examples-rclcpp-minimal-action-client","requires":[],"size":121542,"version":"0.19.4","binstar":{"package_id":"6777cf7cbfb8b18a042fbc0d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9761c16aa93c3ec701c28230119266c8402aab2836b42b7ea8eabf14bf337253"},"ros-jazzy-nav2-common-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736485574810,"md5":"5636db63681e9e4ea54755d688ad0384","name":"ros-jazzy-nav2-common","requires":[],"size":47348,"version":"1.3.4","binstar":{"package_id":"6777cf8cee7f3ec9a9ee3f88","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e288a786a7f475742e4bd127250695a5bcd10ee5a1ea634d8cd8c5848de003df"},"ros-jazzy-topic-tools-1.3.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486689626,"md5":"640b60d022026c78b1ca0b7f12268b02","name":"ros-jazzy-topic-tools","requires":[],"size":204381,"version":"1.3.2","binstar":{"package_id":"6777cf90c5779afe9bc846da","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d81c8cf7db6f51341c9c463869f572ce30bd26a957ea33347c97ec77d6cabb23"},"ros-jazzy-camera-info-manager-5.1.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487036352,"md5":"2799e570ec083c4ab1d375b4839542fe","name":"ros-jazzy-camera-info-manager","requires":[],"size":67613,"version":"5.1.5","binstar":{"package_id":"6777cfba283e553519ee3f7a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"37cc1e26ab0bbd53653e012f1cd1863f238f35be4d55a7980cd0b66d4257c352"},"ros-jazzy-joy-3.3.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453433200,"md5":"bfcaec0d70c1d61416e3f4ac934f4819","name":"ros-jazzy-joy","requires":[],"size":227126,"version":"3.3.0","binstar":{"package_id":"6777cfbb0cbafc2308ee3f89","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"69f764655aa78c428e04c38c1e0ead5af44ecde9eb01cc41730140df73102fe2"},"ros-jazzy-velodyne-laserscan-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-rclcpp-components","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486338204,"md5":"49129bed87b5ba95093c2061fa6308f8","name":"ros-jazzy-velodyne-laserscan","requires":[],"size":165945,"version":"2.5.1","binstar":{"package_id":"6777cfbde8b8e2b2622fbc1e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"273cc911d4984579890dc64c2c77a059a8eb8938d65c0f47d94096880f4cc36a"},"ros-jazzy-vision-opencv-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-geometry","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486012473,"md5":"b9f09c8deb574397f5c6cc77f9bf8629","name":"ros-jazzy-vision-opencv","requires":[],"size":20828,"version":"4.1.0","binstar":{"package_id":"6777cfbf272818152c2fbc05","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"079aa601210c752ee85a07d269e695085b5a1f5e93e3f22256d73925be341090"},"ros-jazzy-examples-rclcpp-minimal-action-server-0.19.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-example-interfaces","ros-jazzy-rclcpp","ros-jazzy-rclcpp-action","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452970909,"md5":"71f40e3cc4f9a1eeb76cd78decfd75a8","name":"ros-jazzy-examples-rclcpp-minimal-action-server","requires":[],"size":78792,"version":"0.19.4","binstar":{"package_id":"6777cfe71167e11d113b96b5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a60f93efb1d6031c23d5b7b9f44f759b14d7082c92e3e8eded86e001d7316a36"},"ros-jazzy-quality-of-service-demo-cpp-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736452820960,"md5":"4f3346f6c1a22c77f35cab76eaa6277e","name":"ros-jazzy-quality-of-service-demo-cpp","requires":[],"size":459785,"version":"0.33.5","binstar":{"package_id":"6777cfee1744634607c846dc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b69ac56f5ec9bc5814579a73789fa8069576723b463f8213ffac36e39b02e8bc"},"ros-jazzy-bondcpp-4.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-bond","ros-jazzy-rclcpp","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros-jazzy-smclib","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486955080,"md5":"1984971d65b283b82c00d9dbb6ec8482","name":"ros-jazzy-bondcpp","requires":[],"size":164770,"version":"4.1.0","binstar":{"package_id":"6777d085e8b8e2b2622fbc24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"04ff71f6b2bbb1c112dd7eec4ef30590068282b3895bd50af9b2d28069b0c695"},"ros-jazzy-moveit-configs-utils-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736487048158,"md5":"6c241b1073bcc34a3cd582ac614df6d3","name":"ros-jazzy-moveit-configs-utils","requires":[],"size":41099,"version":"2.12.1","binstar":{"package_id":"6777d0884b76e5fa113b96c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"024cb2ab67df097dbcb200135dbb244084d604685cdfb887dcceb3ec38249c90"},"ros-jazzy-ros-gz-bridge-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736452867608,"md5":"4ed51661571523c61f244560c377d220","name":"ros-jazzy-ros-gz-bridge","requires":[],"size":1904970,"version":"1.0.7","binstar":{"package_id":"6777d08b5687576dae3b96ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e44615149d71fe55df1728247cd81a39465433cf5f40136abc56bfe3cdeaec0d"},"ros-jazzy-ros-gz-sim-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0","gflags >=2.2.2,<2.3.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736453330733,"md5":"dac35c1b506f306036c0de81f2a86ee4","name":"ros-jazzy-ros-gz-sim","requires":[],"size":248815,"version":"1.0.7","binstar":{"package_id":"6777d08f71d2ff3380c846ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f9f2d9c3271392856beacddac955c1ad16a1516487852066fcc1a8f4032c1e7b"},"ros-jazzy-rqt-gui-py-1.6.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-qt-gui","ros-jazzy-ros-workspace","ros-jazzy-rqt-gui","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453121337,"md5":"d39f064e2f791969294871a932f65792","name":"ros-jazzy-rqt-gui-py","requires":[],"size":40806,"version":"1.6.0","binstar":{"package_id":"6777d093bfb8b18a042fbc12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9006a44beb312d812d16e9c641dcfa6bbe5f085a25fe32ea3a0e116e8a9b692c"},"ros-jazzy-diagnostic-updater-4.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485694081,"md5":"37ef4b95a157c3d13e74c9e45f6c361e","name":"ros-jazzy-diagnostic-updater","requires":[],"size":172529,"version":"4.2.1","binstar":{"package_id":"6777d0f09cf4135cd5ee3f9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ebe1627a2ba4b480cb9de2cb7a47d5d15c69d5e6ffb5b8c1dfbeadc585e1be96"},"ros-jazzy-rqt-graph-1.5.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454028939,"md5":"bcaabf9e8f49541ba89c932b5f6f1e16","name":"ros-jazzy-rqt-graph","requires":[],"size":70789,"version":"1.5.4","binstar":{"package_id":"6777d0f0b89b363eb8ee3f9b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"17083f5e4f5de2ba36e8691c258f5e90880265ddef38338c7bcdb95afb1d5dd2"},"ros-jazzy-rqt-publisher-1.7.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454017107,"md5":"b2c0d11090ea80edccbf888fbd2b9875","name":"ros-jazzy-rqt-publisher","requires":[],"size":43523,"version":"1.7.2","binstar":{"package_id":"6777d0f154270fe296c846d6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b19d715dfba9583fc0ac97c6d642fe5fb3061224f443bfd8633e781b300b9937"},"ros-jazzy-rqt-py-console-1.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453992832,"md5":"456cbc2e29ddcc73f17c911957280382","name":"ros-jazzy-rqt-py-console","requires":[],"size":25237,"version":"1.2.2","binstar":{"package_id":"6777d0f3c1e153c141c846c1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0a38acafc76568355cdb7ed1e8920dda812f5107a0bbfe3e5955b8cf79f78288"},"ros-jazzy-rqt-service-caller-1.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453961954,"md5":"0e699a2c8d4eeddf44c905c50723b330","name":"ros-jazzy-rqt-service-caller","requires":[],"size":32264,"version":"1.2.1","binstar":{"package_id":"6777d0f51744634607c846e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b25f659eee5e426599694e6c8d7b9a58167a415c368064ac30723121a8d8588c"},"ros-jazzy-generate-parameter-library-0.3.9-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","fmt >=11.0.2,<12.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736488075081,"md5":"aafa6453e534b646a416ba74bbf77607","name":"ros-jazzy-generate-parameter-library","requires":[],"size":43053,"version":"0.3.9","binstar":{"package_id":"6777d117b89b363eb8ee3f9e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"807aba8758e8923457063f74df0072d40f3572f4752059c9c5b069a4bc0829a6"},"ros-jazzy-camera-calibration-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","py-opencv >=4.10.0,<5.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485883577,"md5":"b639fca0f922ccedeb7374001b63e243","name":"ros-jazzy-camera-calibration","requires":[],"size":121823,"version":"5.0.6","binstar":{"package_id":"6777d11b0cbafc2308ee3f8e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"73aaba72fe5849156f512c67d88abb06367484612d8b3d287b03ef3fbf5a3c81"},"ros-jazzy-diagnostic-aggregator-4.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736487187649,"md5":"3f97b8290e455ce839b091f97d2264ef","name":"ros-jazzy-diagnostic-aggregator","requires":[],"size":372857,"version":"4.2.1","binstar":{"package_id":"6777d11e241dfcb70b3b969a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"22d1465119c959f996a8f9c09b99007f969b95c07c83ee09cdf1a44e44ecfe12"},"ros-jazzy-rqt-shell-1.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453945333,"md5":"a415e0819a35b4d42bfa0785a4956f76","name":"ros-jazzy-rqt-shell","requires":[],"size":29223,"version":"1.2.2","binstar":{"package_id":"6777d1201b37c47cf0ee3f6d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f9b41e2d26d31664252fbacdce9080e90966d484c47d9440987f2b4a15b0237e"},"ros-jazzy-teleop-twist-joy-2.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453883300,"md5":"9ff7bd2c3025e1eafdd861860d364573","name":"ros-jazzy-teleop-twist-joy","requires":[],"size":189331,"version":"2.6.2","binstar":{"package_id":"6777d1210eb0c3214ec846f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"42155b5debd23f830ee7d1970e1f9969f06a81a414a71cc8a96a6bdccaf007fc"},"ros-jazzy-pcl-conversions-2.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","pcl >=1.14.1,<1.14.2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","vtk-base >=9.3.1,<9.3.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":"osx","timestamp":1736453703544,"md5":"1659e983acdb02894ec8b99500cfefe5","name":"ros-jazzy-pcl-conversions","requires":[],"size":57003,"version":"2.6.2","binstar":{"package_id":"6777d139272818152c2fbc0e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d3f69e53a8dfed0478f9fa50037cf5f8ff39249810bbe35e666037bcaab1d4f0"},"ros-jazzy-rqt-console-2.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453812773,"md5":"e31a9a3a5bfa85fbcdb710938d38fe99","name":"ros-jazzy-rqt-console","requires":[],"size":85642,"version":"2.2.1","binstar":{"package_id":"6777d13cee7f3ec9a9ee3f8f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b4385879aef40196efaa7773839310294d284705f5a344cbc04eee57d00060fe"},"ros-jazzy-rqt-plot-1.4.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453688166,"md5":"62ed99da680f6871d891e44f2ad766b5","name":"ros-jazzy-rqt-plot","requires":[],"size":68987,"version":"1.4.0","binstar":{"package_id":"6777d13ee98b99d2473b96d7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"765fdc5e7c27d24b04fec5dac1bbc6a9937366bab4b1bfab7cb0b0afccb97675"},"ros-jazzy-nav2-msgs-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736486766574,"md5":"82b1c08d406ed38a37b7cf9c75745b52","name":"ros-jazzy-nav2-msgs","requires":[],"size":1833274,"version":"1.3.4","binstar":{"package_id":"6777d1884b76e5fa113b96c8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14143c008dc704dc777086cddd1f3242f10a5b74a3faa45e062184fb5b73f576"},"ros-jazzy-nav2-voxel-grid-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487015420,"md5":"6caae513b0a114b8dd8bef9698a0384e","name":"ros-jazzy-nav2-voxel-grid","requires":[],"size":49151,"version":"1.3.4","binstar":{"package_id":"6777d18cc5960d1d89c846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4b0eb98145dc1de870f6923a81bc76d17c8aad297bcd01685c2adc9f95a6b725"},"ros-jazzy-composition-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736453886761,"md5":"6b391df46b1d66cd5dd9d7e1178077c6","name":"ros-jazzy-composition","requires":[],"size":246537,"version":"0.33.5","binstar":{"package_id":"6777d19e4fbc7913cd2fbc22","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0540046987e73081cee0ada87021af574d2c1641638dca091f93aeda96592582"},"ros-jazzy-demo-nodes-cpp-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736453598072,"md5":"6dd62567641cebb28fb9836caf5f08df","name":"ros-jazzy-demo-nodes-cpp","requires":[],"size":910647,"version":"0.33.5","binstar":{"package_id":"6777d19f072330a8f73b96bc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"704c6171a00a8a5f2f9e65aba97510cc15df831ad59ede4fa1d1088d62cc06ae"},"ros-jazzy-control-toolbox-3.4.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442264455,"md5":"0e894f19d3da7ad3f63afe654f73269c","name":"ros-jazzy-control-toolbox","requires":[],"size":176469,"version":"3.4.0","binstar":{"package_id":"6777d2050eb0c3214ec846fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cd710dc83b9b488bef88c03e3dd3440aabde103919dc75c190fb04a3eda1d3fa"},"ros-jazzy-apriltag-ros-3.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486644575,"md5":"d8ff88b42eff4a5f856c8f7329ea19fb","name":"ros-jazzy-apriltag-ros","requires":[],"size":176457,"version":"3.2.2","binstar":{"package_id":"6777d206bfb8b18a042fbc1f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6a624a37d055cfdf5468d77de4d712540fd5c139f3449065cc123736d2f2b569"},"ros-jazzy-joint-state-publisher-2.4.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-sensor-msgs","ros-jazzy-std-msgs","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736485520341,"md5":"995320d01da85d63d3695d4de45869d8","name":"ros-jazzy-joint-state-publisher","requires":[],"size":46210,"version":"2.4.0","binstar":{"package_id":"6777d206ee7f3ec9a9ee3f94","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e5736c3f61b905dc7ec8ed83569dc236d07a3a93730d2688863d494f7bcdde39"},"ros-jazzy-diagnostic-common-diagnostics-4.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["psutil","python","ros-jazzy-diagnostic-updater","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486778220,"md5":"d22adab8d72b00d23e534254fe881cfb","name":"ros-jazzy-diagnostic-common-diagnostics","requires":[],"size":45398,"version":"4.2.1","binstar":{"package_id":"6777d2084fbc7913cd2fbc24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a8198fad6c2ad80b81b9c7e8bfa2406f9fd88b09256882ad63b1adc75919387b"},"ros-jazzy-image-common-5.1.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487718980,"md5":"3aa4079df492f1160fc8d3fb5656ed43","name":"ros-jazzy-image-common","requires":[],"size":24672,"version":"5.1.5","binstar":{"package_id":"6777d20bcd4f7fe7382fbc11","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"78ddd3c5de5ac6e84848f25b68aa55ff85b795f9b4376b2664f28cd595cbe7f8"},"ros-jazzy-self-test-4.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-diagnostic-msgs","ros-jazzy-diagnostic-updater","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486746792,"md5":"d3eddbf89b5e1028861e6f5528006def","name":"ros-jazzy-self-test","requires":[],"size":92819,"version":"4.2.1","binstar":{"package_id":"6777d20d9cf4135cd5ee3fa5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"452c7a4677b968d28a20cb42b3f7109aecc047ee8a0569a7e58b42123969cfb9"},"ros-jazzy-joint-limits-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488561759,"md5":"6b282cf48c771a87f3b87784bcba84b3","name":"ros-jazzy-joint-limits","requires":[],"size":103571,"version":"4.23.0","binstar":{"package_id":"6777d20eee7f3ec9a9ee3f96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ce8bc67af2a3941ab26a1f62cc5dd2f27e50d6a2020c13367670c27835d18eaf"},"ros-jazzy-rqt-msg-1.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454150035,"md5":"f27fc68bd0f77df80a3561620d4c7c5d","name":"ros-jazzy-rqt-msg","requires":[],"size":30299,"version":"1.5.1","binstar":{"package_id":"6777d226dfa78867392fbc04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b45434ccbc78519fc455967e3c4ff0ef922c470d1473373d47e06e2b46efdfa"},"ros-jazzy-rqt-reconfigure-1.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454186504,"md5":"3d012a9da6aeecdbbb65c3d0551a9a24","name":"ros-jazzy-rqt-reconfigure","requires":[],"size":80183,"version":"1.6.2","binstar":{"package_id":"6777d228c5960d1d89c846f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dac434c0de5428408a7f2942e43259046df0ee24f87bb2abf07f2c9ac7c82d2c"},"ros-jazzy-velodyne-driver-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libpcap >=1.10.4,<1.11.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487391324,"md5":"585d7baa450e740dacc4c795f8c94c66","name":"ros-jazzy-velodyne-driver","requires":[],"size":203957,"version":"2.5.1","binstar":{"package_id":"6777d22a1744634607c846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ad058729fe19ccadc09490a9e20d4714f025a337e3cffc6e20bd3719f93f658a"},"ros-jazzy-velodyne-pointcloud-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","yaml-cpp >=0.8.0,<0.9.0a0","pcl >=1.14.1,<1.14.2.0a0","python_abi 3.11.* *_cp311","vtk-base >=9.3.1,<9.3.2.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.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":"osx","timestamp":1736487260386,"md5":"e64a2d4e47e3fb3a7d6685c21f738c65","name":"ros-jazzy-velodyne-pointcloud","requires":[],"size":283895,"version":"2.5.1","binstar":{"package_id":"6777d22b0eb0c3214ec84702","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7404eac3fb9e634126516bfd762c80be7d5d16e219203ceabc601a3e360b4dfa"},"ros-jazzy-image-publisher-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736487478315,"md5":"4c2c95bcc8e0feaea905c10c2498172f","name":"ros-jazzy-image-publisher","requires":[],"size":171193,"version":"5.0.6","binstar":{"package_id":"6777d2474b76e5fa113b96ce","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b2bc0e769f494ae86d48ef4a5fdbab82c90177c87c01fc6d8507f74a64aa4c38"},"ros-jazzy-image-view-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487018743,"md5":"3e98c3338f065221cee65eff883cbcfc","name":"ros-jazzy-image-view","requires":[],"size":346497,"version":"5.0.6","binstar":{"package_id":"6777d248272818152c2fbc12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"948be13e6c3b1b236dc4bf5e3414d209fc92ec45c2a2a5c6898c0c76853b4fa8"},"ros-jazzy-nav2-simple-commander-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736487628941,"md5":"43d4da62893eb17f54508aec8ccb3ad2","name":"ros-jazzy-nav2-simple-commander","requires":[],"size":64421,"version":"1.3.4","binstar":{"package_id":"6777d24971d2ff3380c846d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4442024f13cfc1a4ba158996ef26584900aeb7740d716eb5be39d56a45f947be"},"ros-jazzy-rqt-image-view-1.3.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","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","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736454457511,"md5":"187199a794a9d61c91e435d0ea9a554c","name":"ros-jazzy-rqt-image-view","requires":[],"size":261646,"version":"1.3.0","binstar":{"package_id":"6777d24ac5960d1d89c846fb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"40d141462def022938ee6289d50285e70a2b3921ce77902c0412a086f11c0987"},"ros-jazzy-rqt-topic-1.7.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736454446309,"md5":"9ee38116977a384c2f5a1b53702eb9c5","name":"ros-jazzy-rqt-topic","requires":[],"size":38944,"version":"1.7.3","binstar":{"package_id":"6777d24ce8b8e2b2622fbc35","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ea09be67819a60c29c99c443e20381146e5ee39b012faac012ed4c984cc0662"},"ros-jazzy-compressed-depth-image-transport-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454345083,"md5":"dcd64480fd48944531d61abdedd080e1","name":"ros-jazzy-compressed-depth-image-transport","requires":[],"size":247864,"version":"4.0.3","binstar":{"package_id":"6777d26571d2ff3380c846d9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7ffe0fd1f0f5d61280f3fb116096761ccfd08716c147d53cff8ed09936b79b39"},"ros-jazzy-compressed-image-transport-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-cv-bridge","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455023397,"md5":"9d016e294515f97549490ac2a8a6d252","name":"ros-jazzy-compressed-image-transport","requires":[],"size":248960,"version":"4.0.3","binstar":{"package_id":"6777d26954270fe296c846db","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2aecaebbec4d3dfcf0d32cefa9a5ec5ff3983cc004feb8a3cbf5774d2fd60c96"},"ros-jazzy-ros-gz-image-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736454403236,"md5":"d6be518519a43874da6628495a9e53d1","name":"ros-jazzy-ros-gz-image","requires":[],"size":63129,"version":"1.0.7","binstar":{"package_id":"6777d26b86441a05f32fbc04","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dc9a31e95d7f0c8eee046d11a66f700a39534a1b959ac130121990ba9af2ba31"},"ros-jazzy-theora-image-transport-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","libogg >=1.3.5,<1.4.0a0","libtheora >=1.1.1,<1.2.0a0","libopencv >=4.10.0,<4.10.1.0a0","python_abi 3.11.* *_cp311","py-opencv >=4.10.0,<5.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736454874990,"md5":"5f78dd539b38e8c7a742f4347ea55365","name":"ros-jazzy-theora-image-transport","requires":[],"size":339899,"version":"4.0.3","binstar":{"package_id":"6777d26dd7b44dbce48f268d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c42ac9308592e41056f7aa8fc596d06a9ed04f8fbe24f19eeaf82f0764ee066f"},"ros-jazzy-zstd-image-transport-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-image-transport","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","zlib","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libzlib >=1.3.1,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736454807819,"md5":"bc2f6d2757465109aba3d6d16abedb5a","name":"ros-jazzy-zstd-image-transport","requires":[],"size":161505,"version":"4.0.3","binstar":{"package_id":"6777d270ae91a6a6d62fbbf8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"da2a28216eae7ccd06cc230dd9831d7f9e58cf108cb0f68e7aa974d0ea000867"},"ros-jazzy-rviz-common-14.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","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"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736454218740,"md5":"194535972683aa58b5bab77362b688dd","name":"ros-jazzy-rviz-common","requires":[],"size":685254,"version":"14.1.6","binstar":{"package_id":"6777d2c8a88e57537b8b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bf4b3d111ea2123364f97384e76145bdec50c16bd844d52c79f9dc0925cc62d4"},"ros-jazzy-rviz-common-14.1.6-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=18","__osx >=10.13","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1737495968866,"md5":"23e07db9a6db5cc002ec04c02be198f6","name":"ros-jazzy-rviz-common","requires":[],"size":688244,"version":"14.1.6","binstar":{"package_id":"6777d2c8a88e57537b8b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b032a9cf21115f17cff886c7f1627d83939edd569fa98a21fda3e81003435dce"},"ros-jazzy-hardware-interface-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489052580,"md5":"ddaa1cb4ae6fd18fd5af7850dc6df0f4","name":"ros-jazzy-hardware-interface","requires":[],"size":322040,"version":"4.23.0","binstar":{"package_id":"6777d35d4479e9794f8f268c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8c9e760dcac75f754254e9cb793891ef32e98232770745d42963ce08505ae3ac"},"ros-jazzy-joint-state-publisher-gui-2.4.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486756616,"md5":"0be658ec30ca0876378a00dbb62610c6","name":"ros-jazzy-joint-state-publisher-gui","requires":[],"size":29038,"version":"2.4.0","binstar":{"package_id":"6777d35e66375628ab8b59ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0af0f4fba1c766c104e4f6b37dfd569bc91f6130e9c5cc4d3a10a345c68ff5bd"},"ros-jazzy-nav2-util-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","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":"osx","timestamp":1736487532542,"md5":"4580adac31692abb59434862d88f988c","name":"ros-jazzy-nav2-util","requires":[],"size":218966,"version":"1.3.4","binstar":{"package_id":"6777d35fe8b8e2b2622fbc3c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"66171cf47466bb8e4c4b1b41520320138a69f98618e5275c07ee8b0398659d07"},"ros-jazzy-laser-filters-2.0.8-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486642287,"md5":"aca70771f031de3ec9a0353618c527c2","name":"ros-jazzy-laser-filters","requires":[],"size":604279,"version":"2.0.8","binstar":{"package_id":"6777d364bd021e1d5b8b59cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0b33c7eae78b45aba4e3546a4d1a8b02f71e39cab45318fb96feb419a3dc9a0e"},"ros-jazzy-rqt-action-2.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736455236188,"md5":"a9b1142ad58c025b48588cc9589423c3","name":"ros-jazzy-rqt-action","requires":[],"size":20049,"version":"2.2.0","binstar":{"package_id":"6777d367bfb8b18a042fbc28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5ac82d0ff6a5979a96e3d6e1c24c596eb36c375f8c6a516c4a96f5ce26ae6901"},"ros-jazzy-rqt-srv-1.2.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736455220968,"md5":"7f15d94e1e61ddfcd8ffc8df36795bd8","name":"ros-jazzy-rqt-srv","requires":[],"size":20761,"version":"1.2.2","binstar":{"package_id":"6777d3694479e9794f8f2693","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0e0450b81981b1c14298c280c4adf38d6da18ce3178dbfbbf81e39ea465be1cf"},"ros-jazzy-velodyne-2.5.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487703252,"md5":"f1f7fde7da5c73524bb4758210b34420","name":"ros-jazzy-velodyne","requires":[],"size":25818,"version":"2.5.1","binstar":{"package_id":"6777d36a04dc6d95688b59cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cad37fbbfed2eed7e7fb4d12224a2d09dcec8c986600484d1cba35e1c528c31a"},"ros-jazzy-diagnostics-4.2.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487733837,"md5":"0b3238516918039c198c393d6d8c6ae7","name":"ros-jazzy-diagnostics","requires":[],"size":20787,"version":"4.2.1","binstar":{"package_id":"6777d3afca421b4ff78f268c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a89087e87cf1edfd2e3466208a27ef0ac28ab125e7b34aec608b9d6b11f7900"},"ros-jazzy-dummy-robot-bringup-0.33.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455146997,"md5":"c3bbdc6653ce8b7bda059e914bb14da2","name":"ros-jazzy-dummy-robot-bringup","requires":[],"size":28928,"version":"0.33.5","binstar":{"package_id":"6777d3b11000bbd6d58f268e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"eb0709bf127bad8dc25b136f5f963edffda78f4fb3a75afd3e04e86be97c36ac"},"ros-jazzy-sbg-driver-3.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486794821,"md5":"3e51e2eb3d0e964b8806e9fdaa3260af","name":"ros-jazzy-sbg-driver","requires":[],"size":1184506,"version":"3.2.0","binstar":{"package_id":"6777d3b310af1de5228b59cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e3101580f7c6c17742c6bfa5fc8a07c13ed8584fd2d8667a879677b032def77c"},"ros-jazzy-image-proc-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","libopencv >=4.10.0,<4.10.1.0a0","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","py-opencv >=4.10.0,<5.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486949255,"md5":"b31adb3661efd7a24f8126ce06de2922","name":"ros-jazzy-image-proc","requires":[],"size":278928,"version":"5.0.6","binstar":{"package_id":"6777d3df1744634607c846fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"79b451b1217be48788c346ea5a556a43e60a063d5d6ab60ba07257e82587fccc"},"ros-jazzy-image-rotate-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","py-opencv >=4.10.0,<5.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486566094,"md5":"c053df4271118744dd737d8a3b483cf3","name":"ros-jazzy-image-rotate","requires":[],"size":207715,"version":"5.0.6","binstar":{"package_id":"6777d3e1bd021e1d5b8b59d3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0e77d385a931370c77853e51061fd70e751e034f338ab2d1d7085b90ae393e44"},"ros-jazzy-image-transport-plugins-4.0.3-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736455151856,"md5":"ce276983fa7cb0d876f5ae4b842f2b01","name":"ros-jazzy-image-transport-plugins","requires":[],"size":21104,"version":"4.0.3","binstar":{"package_id":"6777d3e3c5779afe9bc846ee","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"402ba97304c65ce2ad85ac8763327904c0d271770a30d79aa20fa8c0875c07f7"},"ros-jazzy-pcl-ros-2.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","pcl >=1.14.1,<1.14.2.0a0","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","vtk-base >=9.3.1,<9.3.2.0a0","libboost >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486101395,"md5":"8cd1c4eea2ea49423e86ff33a75793d9","name":"ros-jazzy-pcl-ros","requires":[],"size":557699,"version":"2.6.2","binstar":{"package_id":"6777d3e51744634607c846fe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b539d2531b4c3febce82d8c63d2a62634a2ee44c92071249f3101bfc2104636c"},"ros-jazzy-robot-localization-3.8.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","geographiclib-cpp >=2.5,<2.6.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486756173,"md5":"57509e6df9ef0fcd587c99e806c9050e","name":"ros-jazzy-robot-localization","requires":[],"size":983787,"version":"3.8.1","binstar":{"package_id":"6777d401189ff81bb0c846cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"49810edf7a94522fe9cd0cc5cb1062f5e0b84efa009892bdcb7f8a8501090450"},"ros-jazzy-rviz-visual-testing-framework-14.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","qt-main >=5.15.15,<5.16.0a0","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"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736455258741,"md5":"a2c39ec4bc2f3c3ac87ee22ff6f956ac","name":"ros-jazzy-rviz-visual-testing-framework","requires":[],"size":121881,"version":"14.1.6","binstar":{"package_id":"6777d405272818152c2fbc1f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7fe702e439e6b453369c54bff5470e9e57aa51b86175af048adbc466877bef00"},"ros-jazzy-warehouse-ros-2.0.5-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost >=1.86.0,<1.87.0a0","openssl >=3.4.0,<4.0a0","numpy >=1.26.4,<2.0a0","libboost-python >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736485868264,"md5":"a372d92eed0e242190acc02d370b4e29","name":"ros-jazzy-warehouse-ros","requires":[],"size":164927,"version":"2.0.5","binstar":{"package_id":"6777d407ae91a6a6d62fbbfb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e600d2e46ebc6b28c1b37af8aa8dfb29cd19f5eec5e996300f79b6e3f812b7b0"},"ros-jazzy-perception-pcl-2.6.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-pcl-conversions","ros-jazzy-pcl-msgs","ros-jazzy-pcl-ros","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736487432379,"md5":"6f98a7975d9e9c17965298ca0ebf6f02","name":"ros-jazzy-perception-pcl","requires":[],"size":20923,"version":"2.6.2","binstar":{"package_id":"6777d43f6a0bceb80dc846e2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"805f5e206399fa9a5f0397ae6211313bef7f1d5dac6ec0ea1ee296a6764e0bec"},"ros-jazzy-controller-interface-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-hardware-interface","ros-jazzy-rclcpp-lifecycle","ros-jazzy-realtime-tools","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489434055,"md5":"d0a0b2212ab9845944f2e7efcf2e605d","name":"ros-jazzy-controller-interface","requires":[],"size":88512,"version":"4.23.0","binstar":{"package_id":"6777d49d4479e9794f8f269b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"62b47746d711abc1ff1f10ae823d05affe4ea6f6027468f831b1576626d72150"},"ros-jazzy-hardware-interface-testing-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489359811,"md5":"e078815a6cdebdb1cb081d96e9238d71","name":"ros-jazzy-hardware-interface-testing","requires":[],"size":93078,"version":"4.23.0","binstar":{"package_id":"6777d49fc7f0608d038b59d2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0f26242ef7a6bac1bb2205c5a9dac6015444d212a4f63f04bb7a6e56992bd1f6"},"ros-jazzy-nav2-lifecycle-manager-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488197037,"md5":"0912a45d415b2daba43a648802057bdb","name":"ros-jazzy-nav2-lifecycle-manager","requires":[],"size":130656,"version":"1.3.4","binstar":{"package_id":"6777d4a1a88e57537b8b59cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0a22c5a1fab0a46bd8b0f9aa5c3c829ecccffded8bd7922c52ca1a353c7e6d66"},"ros-jazzy-nav2-map-server-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736488116563,"md5":"5a35f3daf36c4a3d1c1f19bdcb3a2fc5","name":"ros-jazzy-nav2-map-server","requires":[],"size":283629,"version":"1.3.4","binstar":{"package_id":"6777d4a2a88e57537b8b59cf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6965ca13718a03173438111a768f5012420d6e3f5dd36ad9a21b4bbf796c2d1e"},"ros-jazzy-depth-image-proc-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","libopencv >=4.10.0,<4.10.1.0a0","py-opencv >=4.10.0,<5.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487554535,"md5":"b5f7faf1c3291a2d02f896306dd78123","name":"ros-jazzy-depth-image-proc","requires":[],"size":415168,"version":"5.0.6","binstar":{"package_id":"6777d5276a0bceb80dc846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"06c6f280c60d902698c188d5bce3530aa67a8827925b25c873731057209c474e"},"ros-jazzy-nav2-amcl-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488153623,"md5":"bc63b29430d9c5097cfcb3b4ebf4e643","name":"ros-jazzy-nav2-amcl","requires":[],"size":425914,"version":"1.3.4","binstar":{"package_id":"6777d52954270fe296c846e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2ade0b0556ec97fd868d12c4b791bdb37cb0493b22491d73e0cca47936123d9b"},"ros-jazzy-nav2-velocity-smoother-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488117210,"md5":"2e8c15ffb76de1cd4ebdf9f937017e01","name":"ros-jazzy-nav2-velocity-smoother","requires":[],"size":210768,"version":"1.3.4","binstar":{"package_id":"6777d52bbfb8b18a042fbc2d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3fb6f215f8fe3a1c17aadf0c38fda5028964298b46e6b3e710811d16f9bd98eb"},"ros-jazzy-stereo-image-proc-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libopencv >=4.10.0,<4.10.1.0a0","python_abi 3.11.* *_cp311","py-opencv >=4.10.0,<5.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487961598,"md5":"16ed94495a849b773790426b5c83663e","name":"ros-jazzy-stereo-image-proc","requires":[],"size":367037,"version":"5.0.6","binstar":{"package_id":"6777d52f96cb5a5d358f268a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fe2dbd5ec9020da6d16c167bcc1cbdc981d7870a89af49763669e66a20d96315"},"ros-jazzy-nav-2d-utils-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736488495527,"md5":"aa4621a44dc15d80a75171db9d966233","name":"ros-jazzy-nav-2d-utils","requires":[],"size":58390,"version":"1.3.4","binstar":{"package_id":"6777d74d6043c75fbc8f268d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fa3a5421f371348e8eea60adafbb159e228ece25541d469beb8ba7928209d29b"},"ros-jazzy-nav2-behavior-tree-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736488237539,"md5":"6cbc22bcadae7f9e038aa29d3fe96a15","name":"ros-jazzy-nav2-behavior-tree","requires":[],"size":1316686,"version":"1.3.4","binstar":{"package_id":"6777d74ebfb8b18a042fbc2f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f234210bf2de54f2ad63518022591be6034b3d6b97c9e2af414b145cb96cd00c"},"ros-jazzy-opennav-docking-core-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488074344,"md5":"0512ef541df833f1b29249d31200ca99","name":"ros-jazzy-opennav-docking-core","requires":[],"size":42925,"version":"1.3.4","binstar":{"package_id":"6777d74f1f1fd598f85294c5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"18261c25048cd7443ae012051aaaa550fb496d399c6546ed1a80177aeaf5adf5"},"ros-jazzy-rviz-default-plugins-14.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","qt-main >=5.15.15,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736455514950,"md5":"9f5b21a1e470d33e98b34d70bf716750","name":"ros-jazzy-rviz-default-plugins","requires":[],"size":1633912,"version":"14.1.6","binstar":{"package_id":"6777d752a410428903a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bae4d69665386b8272752d4a00b198ff0e2a929343cc95e11a93d0787a815ca4"},"ros-jazzy-image-pipeline-5.0.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488206351,"md5":"58b8bba10f8c42fc72fdeea503ab1640","name":"ros-jazzy-image-pipeline","requires":[],"size":21652,"version":"5.0.6","binstar":{"package_id":"6777d8693788bac9f3c4c0f0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a0b98d177ccd461d91759c8b1a4d57a242b3d26ebca6c348e90dc489e2d4159"},"ros-jazzy-slam-toolbox-2.8.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","tbb >=2022.0.0","libboost-python >=1.86.0,<1.87.0a0","xorg-libx11 >=1.8.10,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","ceres-solver >=2.2.0,<2.3.0a0","eigen >=3.4.0,<3.4.1.0a0","suitesparse >=7.8.3,<8.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","qt-main >=5.15.15,<5.16.0a0","python_abi 3.11.* *_cp311","libboost >=1.86.0,<1.87.0a0","liblapack >=3.9.0,<3.10.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487641552,"md5":"89fee4cbdc150adb650c4446f0aee340","name":"ros-jazzy-slam-toolbox","requires":[],"size":2190880,"version":"2.8.2","binstar":{"package_id":"6777d86d1000bbd6d58f2697","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f6c1c4466f5e4f89a0c9f265d50956f281f580bf419f29075f0d8ed28815ebc8"},"ros-jazzy-controller-manager-4.23.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489829123,"md5":"dd7793a5cda9e86b4caad501294a0a14","name":"ros-jazzy-controller-manager","requires":[],"size":487290,"version":"4.23.0","binstar":{"package_id":"6777d8b39d68c71e7aa4765c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"dad179fc617e5c1e33ba7b72eb2528480ff89ea4a7015660ea94c4252dc7da01"},"ros-jazzy-nav2-costmap-2d-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736488636062,"md5":"1c69c8f2501d58bfe7be679f11a4ef72","name":"ros-jazzy-nav2-costmap-2d","requires":[],"size":1061225,"version":"1.3.4","binstar":{"package_id":"6777d8b6b734ab2338a4765e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"11b1be9a65e2acadb71da84191fe53a1161c8548d200091ce593a8f689eb2478"},"ros-jazzy-nav2-rviz-plugins-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.14","libcxx >=19","numpy >=1.26.4,<2.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736488870314,"md5":"cf45879cc1a8af1b0c6f8111f1fa2d17","name":"ros-jazzy-nav2-rviz-plugins","requires":[],"size":527773,"version":"1.3.4","binstar":{"package_id":"6777d8b83788bac9f3c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"89dab133141c58deb0a5cf7e5a5b044e69aa7c7399fbc284473f77098dbd769a"},"ros-jazzy-rviz2-14.1.6-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736456601707,"md5":"5d9e663865b905a74aece7563582f742","name":"ros-jazzy-rviz2","requires":[],"size":66380,"version":"14.1.6","binstar":{"package_id":"6777d8bcb734ab2338a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1183803e1c805e63e1b017d73d6e15d280177f0d795a1a7f726141db7abb9fb7"},"ros-jazzy-costmap-queue-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-nav2-costmap-2d","ros-jazzy-rclcpp","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489176044,"md5":"acb6944a80450e1164e79ec2b0d5b104","name":"ros-jazzy-costmap-queue","requires":[],"size":53815,"version":"1.3.4","binstar":{"package_id":"6777d970556e2b8af3c4c0f2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8344c0fab81352404f47cd4b2cae84f7b8ec2bdaea659753a08e04dd86f79c9d"},"ros-jazzy-nav2-collision-monitor-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489200487,"md5":"f6141c4f9018c0e7f102091f74a79885","name":"ros-jazzy-nav2-collision-monitor","requires":[],"size":602945,"version":"1.3.4","binstar":{"package_id":"6777d9731f1fd598f85294c9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ad316cea74dacfbd2a33667c1d8f540b464fb079faf895a095b9cc6f0272a83d"},"ros-jazzy-forward-command-controller-4.18.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490227088,"md5":"50130f8440a1a1b20bfbb8275a707ad6","name":"ros-jazzy-forward-command-controller","requires":[],"size":183478,"version":"4.18.0","binstar":{"package_id":"6777d9733f0ca1f1c9c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a78e98e38942474fd4fe42dcb673620d1dda559bb042660454ff61839ff09f48"},"ros-jazzy-gripper-controllers-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738785594214,"md5":"9903815658aa14ee5b4153c3fa47cd9f","name":"ros-jazzy-gripper-controllers","requires":[],"size":147774,"version":"4.18.0","binstar":{"package_id":"6777d9758fd59142f15294c4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"49ad929caf22d9e34b8f52fe7cf68a0bce7f001ac23ffc1749769cab52f21c73"},"ros-jazzy-ros-gz-sim-demos-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736456802364,"md5":"4a40e2f4d22e13ebbf73e51ccf749655","name":"ros-jazzy-ros-gz-sim-demos","requires":[],"size":84741,"version":"1.0.7","binstar":{"package_id":"6777d976497a9018dda4765a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"341d61d7c9aabb93994bac977d4c31e023ed2a3b7f44522a98a75e2e13996ce2"},"ros-jazzy-nav2-core-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489146201,"md5":"4f1ba1f7336c22670870ab575eea2432","name":"ros-jazzy-nav2-core","requires":[],"size":51018,"version":"1.3.4","binstar":{"package_id":"6777d9783f0ca1f1c9c4c0f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"10ef517c88405c67d14f34b4d4c32fc75dd7cc681f536de57ba6e4c7438d0da8"},"ros-jazzy-nav2-behaviors-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489357530,"md5":"f8d0b3703f433e9424f8a3e47ac11d92","name":"ros-jazzy-nav2-behaviors","requires":[],"size":525185,"version":"1.3.4","binstar":{"package_id":"6777d9ed76332b66b0a4765a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6d85d7ddc87933ffe13191313e3d53e036c679bf1d0f54613f42ad1c879d7cb6"},"ros-jazzy-ros-gz-1.0.7-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736456955371,"md5":"60cc6421c9bf323034718422f2c9d8a4","name":"ros-jazzy-ros-gz","requires":[],"size":24540,"version":"1.0.7","binstar":{"package_id":"6777d9efd7b44dbce48f269c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ffed462c64abf953ccc5628ecab2dd952b16ecbf9d960166318ef62c25ff160"},"ros-jazzy-dwb-core-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489589966,"md5":"4bf9fd13b87b79fc69c48b46c4e940d9","name":"ros-jazzy-dwb-core","requires":[],"size":271669,"version":"1.3.4","binstar":{"package_id":"6777da623788bac9f3c4c0fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9d041f422fa80acfbae47173e83588dbc3a17c1c4fbd8417481eab5cfadfa6d3"},"ros-jazzy-nav2-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489472415,"md5":"3f3426c195e5ad734b65cd3455b664b8","name":"ros-jazzy-nav2-controller","requires":[],"size":399030,"version":"1.3.4","binstar":{"package_id":"6777da63556e2b8af3c4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8d4f23a40a693440e539a0deb5373fa37bf603aa58dee9ea7fc20a3006dee7f7"},"ros-jazzy-nav2-regulated-pure-pursuit-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489653390,"md5":"3918590b7996ec1280ab5752dbd4031a","name":"ros-jazzy-nav2-regulated-pure-pursuit-controller","requires":[],"size":165116,"version":"1.3.4","binstar":{"package_id":"6777da64a410428903a4766d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ef9ac784e46424924245e8b0e47d34e86acffb8a75b2fbafdde36a3647be618b"},"ros-jazzy-position-controllers-4.18.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490484941,"md5":"64b54e32c8baac489bb34f973828674c","name":"ros-jazzy-position-controllers","requires":[],"size":66285,"version":"4.18.0","binstar":{"package_id":"6777da66d3fb4386b48f2691","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7042ea20b262bed12533dbeece6a833e60f39284deae669f311e0c757caea634"},"ros-jazzy-nav2-bt-navigator-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489645251,"md5":"fba01d1e0bcea10d47d3785170ab6899","name":"ros-jazzy-nav2-bt-navigator","requires":[],"size":497212,"version":"1.3.4","binstar":{"package_id":"6777da8f556e2b8af3c4c0f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a80a84906085b21b652341d5a72c113fddbe3755368703d8ecfd92784ede7bbf"},"ros-jazzy-nav2-constrained-smoother-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","ceres-solver >=2.2.0,<2.3.0a0","eigen >=3.4.0,<3.4.1.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736489603804,"md5":"4ce82670437b2a74dd0812812aa1685a","name":"ros-jazzy-nav2-constrained-smoother","requires":[],"size":115470,"version":"1.3.4","binstar":{"package_id":"6777da924cca628f07a4765d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f91bd2b351cb832f21e1d2ec21fcf0e3328b51a346bbf2d9575caf693c0f6fb"},"ros-jazzy-nav2-mppi-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["benchmark","llvm-openmp","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","__osx >=10.14","libcxx >=18","llvm-openmp >=19.1.6","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":"osx","timestamp":1736489477822,"md5":"b431327b28af8cbc6801de7183066d56","name":"ros-jazzy-nav2-mppi-controller","requires":[],"size":507825,"version":"1.3.4","binstar":{"package_id":"6777da96d7b44dbce48f269e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"66def829e8a9f0609778e0ac6f916cd307f3cacd91ee910532dc7a4a1a42a53d"},"ros-jazzy-nav2-navfn-planner-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489445586,"md5":"8edde64e443d9b2ad966f864122df2e2","name":"ros-jazzy-nav2-navfn-planner","requires":[],"size":87687,"version":"1.3.4","binstar":{"package_id":"6777da99ca421b4ff78f2699","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"029345ce683361ce690a2b98aaf3899f7c83cbf65a4015031565cf2f107f9a08"},"ros-jazzy-nav2-planner-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489358848,"md5":"5dea3dcb6b5f1fd4ed905700bbb0f31d","name":"ros-jazzy-nav2-planner","requires":[],"size":264238,"version":"1.3.4","binstar":{"package_id":"6777da9c4479e9794f8f26a6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0ba80f8a260bc7471afbaba69fd5d9ac3391f73d432c1aecdc0afb3b44fb1d70"},"ros-jazzy-nav2-smac-planner-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","llvm-openmp >=19.1.6","libode >=0.16.5,<0.16.6.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","ompl >=1.6.0,<1.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736489637963,"md5":"b5707da903d05a5d71bf96706b4e7120","name":"ros-jazzy-nav2-smac-planner","requires":[],"size":648198,"version":"1.3.4","binstar":{"package_id":"6777daa54cca628f07a47660","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6d476a516c20fab13db0d28dc8d7a5bec83721d88a5efbedd7c58641ec489db0"},"ros-jazzy-nav2-smoother-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489594192,"md5":"cad7149e33a5861b86742e4149b73b17","name":"ros-jazzy-nav2-smoother","requires":[],"size":270078,"version":"1.3.4","binstar":{"package_id":"6777daa64cca628f07a47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"09946f0c0a4dd679e62da0ff81191930292ec425f4939309c6a07f8529ef8ad6"},"ros-jazzy-nav2-theta-star-planner-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489553018,"md5":"c4b053ca4459ca091d0a3ffff29f6eb1","name":"ros-jazzy-nav2-theta-star-planner","requires":[],"size":81032,"version":"1.3.4","binstar":{"package_id":"6777daa91624366d48a47661","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"735b85e3e838e545296308b266d6e61212f8868b1df8357e96f26394b9180444"},"ros-jazzy-nav2-waypoint-follower-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489454213,"md5":"3f8df447862502cf6a9d02fdea0ee205","name":"ros-jazzy-nav2-waypoint-follower","requires":[],"size":414367,"version":"1.3.4","binstar":{"package_id":"6777daab1624366d48a47663","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"501abebecd167a8cf04e0bf39e4cd7827e22e274a6379e5615749cdf9ef35c58"},"ros-jazzy-opennav-docking-bt-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489361064,"md5":"21020b7aaf9164ec7b93abcb4384da1d","name":"ros-jazzy-opennav-docking-bt","requires":[],"size":159683,"version":"1.3.4","binstar":{"package_id":"6777daadd3fb4386b48f2693","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6c3b430551789c24d2a2ead9d7297d9f41a2887637f0ab571f16ea4cda616961"},"ros-jazzy-nav2-rotation-shim-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490148957,"md5":"57cce862630b72019d4c537742158a12","name":"ros-jazzy-nav2-rotation-shim-controller","requires":[],"size":156422,"version":"1.3.4","binstar":{"package_id":"6777db032de5b933355294cb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9ae85e9a82ad988345f5632018d1608314ef605e6f62b607223b39d3c2b9da16"},"ros-jazzy-rqt-bag-1.5.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736457039453,"md5":"fe14ff41bb1675aea10dc99d8e3f841e","name":"ros-jazzy-rqt-bag","requires":[],"size":138008,"version":"1.5.4","binstar":{"package_id":"6777db05deec2af1875294cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a3b52f5167aac57c772917ea4def8e338c4527376b29a4b64b8d32221039ef81"},"ros-jazzy-dwb-critics-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490060792,"md5":"e2f4507d72c858b836b2ccf3aec274fe","name":"ros-jazzy-dwb-critics","requires":[],"size":104007,"version":"1.3.4","binstar":{"package_id":"6777db534479e9794f8f26ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6b53ad75716256a12980b8bf9d9383822e091dd4ff26f0d6406e4a901892a76a"},"ros-jazzy-dwb-plugins-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490014038,"md5":"fd697719668f8a65e1f2aaba9296f162","name":"ros-jazzy-dwb-plugins","requires":[],"size":83818,"version":"1.3.4","binstar":{"package_id":"6777db553788bac9f3c4c102","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a12000d5421930054a76bd8bef20a759158459dab633f87339891b286ee0205"},"ros-jazzy-moveit-resources-fanuc-moveit-config-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736490597599,"md5":"bc8f0189d76a12a173fbd8e815081987","name":"ros-jazzy-moveit-resources-fanuc-moveit-config","requires":[],"size":32613,"version":"3.1.0","binstar":{"package_id":"6777db5eb55c88d649a4765e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"09992e7278a7ffac327310f18609fed0371aa517c2de2f50513d1d2636496bff"},"ros-jazzy-moveit-resources-panda-moveit-config-3.1.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-controller-manager","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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490573044,"md5":"855320b7522a384aae05237335fc2700","name":"ros-jazzy-moveit-resources-panda-moveit-config","requires":[],"size":37793,"version":"3.1.0","binstar":{"package_id":"6777db603788bac9f3c4c104","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"72372fed28caa003acf00394b7a1575c77362f9bfa63f744b535923d063d49d6"},"ros-jazzy-nav2-graceful-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489947159,"md5":"33d44539d0e6b991d94215fe317d4439","name":"ros-jazzy-nav2-graceful-controller","requires":[],"size":161067,"version":"1.3.4","binstar":{"package_id":"6777db61556e2b8af3c4c0fc","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1e9c426b684425a89c3edca383c683c0c43b5eb9b79a369bc24c3f02861b2c8d"},"ros-jazzy-moveit-core-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost-python >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","assimp >=5.4.3,<5.4.4.0a0","fcl >=0.7.0,<0.8.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736490979963,"md5":"cbc8baef420fcb107634a8a5bf9fb5aa","name":"ros-jazzy-moveit-core","requires":[],"size":1599607,"version":"2.12.1","binstar":{"package_id":"6777dcf5556e2b8af3c4c0ff","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b53fd96bc212201e32f96169300aef342a9745c47ca53c733e95b10ea3e99c24"},"ros-jazzy-nav2-dwb-controller-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736490431818,"md5":"377dbb6a2492ed9aa388e4b7b20bebdb","name":"ros-jazzy-nav2-dwb-controller","requires":[],"size":41397,"version":"1.3.4","binstar":{"package_id":"6777dcf73788bac9f3c4c108","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a5dc3644fb8e3de2d7df514498875aad5a4ab9b1af2e53876bf3e8807fe7bd82"},"ros-jazzy-opennav-docking-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490310758,"md5":"e18673c580353ae9355477a4d77497b5","name":"ros-jazzy-opennav-docking","requires":[],"size":580946,"version":"1.3.4","binstar":{"package_id":"6777dcf9d7b44dbce48f26a4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8f5e1c08db6d6fc4c0303e8640cf223bdedea22e7b78c6805ed284c8632fa9e0"},"ros-jazzy-chomp-motion-planner-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492175216,"md5":"cd9c99523914721b557e4d5a91eb9cd2","name":"ros-jazzy-chomp-motion-planner","requires":[],"size":196181,"version":"2.12.1","binstar":{"package_id":"6777dd83bcf2e2640ffa72ca","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1aad10d76f11fd26691384eaedff0e1eb2b86f67bcff21576f76738931a22c34"},"ros-jazzy-moveit-planners-stomp-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736491776094,"md5":"3b4140c725da4c8c956610af2f3fe214","name":"ros-jazzy-moveit-planners-stomp","requires":[],"size":233807,"version":"2.12.1","binstar":{"package_id":"6777dd86ca6bb0392aa47662","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"69ccc735681b0ba6e47d3d192be22973b7141d115cc566e2357b463c86414617"},"ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492004221,"md5":"2a014e422c0b2c3651d4f3b12d7b6eff","name":"ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin","requires":[],"size":200676,"version":"2.12.1","binstar":{"package_id":"6777ddc4b734ab2338a4766b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f19576ed3458677c54606a53005cb06d3e1982bf72ad4b5f87cfff1f1f3f4492"},"ros-jazzy-moveit-ros-occupancy-map-monitor-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736491741876,"md5":"26310500464a3aafd750437b78aecd38","name":"ros-jazzy-moveit-ros-occupancy-map-monitor","requires":[],"size":318765,"version":"2.12.1","binstar":{"package_id":"6777ddc51000bbd6d58f26af","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3b463c660ffa58e0c3344e99bc40d6d85288b36fcb784acd86c7d7be2aabbed7"},"ros-jazzy-moveit-simple-controller-manager-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492063811,"md5":"8765a5843d55c5f69baae922de19f219","name":"ros-jazzy-moveit-simple-controller-manager","requires":[],"size":158907,"version":"2.12.1","binstar":{"package_id":"6777ddc88ed9e7804dc4c0f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0f1f835414a6a81d1df24e1aab1cd85efebcdefe6c97585cb15b0cf1c1524e59"},"ros-jazzy-navigation2-1.3.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736490550423,"md5":"fca55d29c9e7a459aa5c0f34bdaa7217","name":"ros-jazzy-navigation2","requires":[],"size":21527,"version":"1.3.4","binstar":{"package_id":"6777ddca8fd59142f15294d9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ff810804c3b477712f485c45d6f4c09d79694adc788e0e8d0b6d00b6611b7cba"},"ros-jazzy-pilz-industrial-motion-planner-testutils-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492114437,"md5":"74948373ef9458ef3bd200e5a853ee56","name":"ros-jazzy-pilz-industrial-motion-planner-testutils","requires":[],"size":186790,"version":"2.12.1","binstar":{"package_id":"6777ddcca410428903a47674","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a451ab8d753fd4ba62a876e47b85e4a8d9c3533798597947cb1bec28ab49798b"},"ros-jazzy-moveit-planners-chomp-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736492657187,"md5":"29bf44e5390fa24b4cacc86bfbdf940d","name":"ros-jazzy-moveit-planners-chomp","requires":[],"size":79062,"version":"2.12.1","binstar":{"package_id":"6777df10b734ab2338a4766f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4a8e23499e29939c6aaf8eeb6abf02790c9325a9675fc60f56e679880dd2f870"},"ros-jazzy-moveit-plugins-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-moveit-simple-controller-manager","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492703182,"md5":"a41d223a3bde63691bf5ad3be298ac64","name":"ros-jazzy-moveit-plugins","requires":[],"size":20835,"version":"2.12.1","binstar":{"package_id":"6777df12497a9018dda4765f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3843921dbc0404ed8e272d8ab42a1ce73626f209c358fa8df9a334a450fca7c0"},"ros-jazzy-moveit-ros-planning-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","fmt >=11.0.2,<12.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736492332862,"md5":"8980a177f1b176974865ff85e40f77ba","name":"ros-jazzy-moveit-ros-planning","requires":[],"size":1220493,"version":"2.12.1","binstar":{"package_id":"6777df14137f768132c4c107","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9164831c51d26fee3bcc19e102dca7cebbfe3e8a4b0f48a966a11a864d625dd1"},"ros-jazzy-rqt-bag-plugins-1.5.4-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457114022,"md5":"1bb30951b026a3751b61ddb09305289e","name":"ros-jazzy-rqt-bag-plugins","requires":[],"size":49702,"version":"1.5.4","binstar":{"package_id":"6777df18ca6bb0392aa47666","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a85b435a011cbbffd016b896cc7d52a8bafe991566b079fb18fe487b67956ee0"},"ros-jazzy-perception-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736489006977,"md5":"2497fca6c3a357e1744f244576f9c67e","name":"ros-jazzy-perception","requires":[],"size":20879,"version":"0.11.0","binstar":{"package_id":"6777df584479e9794f8f26b9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"652988d5897ed0b08a70376c381d320a1b7bbd19bde86c83baa919352822e4a4"},"ros-jazzy-simulation-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736486392203,"md5":"7df5dd90f20e6d19d5cc3deca33adecd","name":"ros-jazzy-simulation","requires":[],"size":20725,"version":"0.11.0","binstar":{"package_id":"6777df596da582d1198f2695","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"85cd826c2a0a9146d9d74e31178680334012ac3093eb304f0fb718fee6fb2ece"},"ros-jazzy-moveit-kinematics-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736492743228,"md5":"bcd4e89671191faba72ee954535222c4","name":"ros-jazzy-moveit-kinematics","requires":[],"size":356532,"version":"2.12.1","binstar":{"package_id":"6777e074efd720d2545294cd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ecb6a268dc1d7941fd09e5ee5908e22cd6cc8051ff5b2ba73161d8a2a4fc501d"},"ros-jazzy-moveit-planners-ompl-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["llvm-openmp","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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","llvm-openmp >=19.1.6","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":"osx","timestamp":1736493031588,"md5":"57d3b00357bc980bbe5478f262e39f9c","name":"ros-jazzy-moveit-planners-ompl","requires":[],"size":445795,"version":"2.12.1","binstar":{"package_id":"6777e0771f1fd598f85294da","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"926189192dd96ffe3fb6452c002801931a03691ed089e24ecc4f83974cc04644"},"ros-jazzy-moveit-ros-robot-interaction-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736492968301,"md5":"37b86ac58e8918e3a1b26591bac33e46","name":"ros-jazzy-moveit-ros-robot-interaction","requires":[],"size":232404,"version":"2.12.1","binstar":{"package_id":"6777e07bdeec2af1875294d5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a6c2d38360bede6ba3b6f0585c16612cf1630be38a5711c54dd16179c7053bb9"},"ros-jazzy-moveit-ros-warehouse-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","fmt >=11.0.2,<12.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":"osx","timestamp":1736492855663,"md5":"29257ce8687fcdd161ac35f866988f61","name":"ros-jazzy-moveit-ros-warehouse","requires":[],"size":531474,"version":"2.12.1","binstar":{"package_id":"6777e07e8ed9e7804dc4c0fb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8834b2701305569a22b17b00a9f856d3e5bedeed704de11e04bab4073aaf3fae"},"ros-jazzy-rqt-common-plugins-1.2.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457149846,"md5":"dece1c578973ab02c95b5128325ad886","name":"ros-jazzy-rqt-common-plugins","requires":[],"size":21457,"version":"1.2.0","binstar":{"package_id":"6777e080b2c82143dcc4c0f4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"72f73c2d1b3db0cbb9548e9289a274622c1d7a854cb2ba66fc9743be1e0f69d7"},"ros-jazzy-desktop-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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-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-topic-monitor","ros-jazzy-turtlesim","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736457160655,"md5":"07e3560f59b395703287435d64403469","name":"ros-jazzy-desktop","requires":[],"size":22057,"version":"0.11.0","binstar":{"package_id":"6777e16d21afbb471ba47663","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0c612a62d3ddb56a0774780a1bd3163008366fc18a121d5ecfdae855065d9015"},"ros-jazzy-moveit-ros-benchmarks-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libboost >=1.86.0,<1.87.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736493675271,"md5":"0b9c728ad3a1a80ef36d5bf16bf25b9b","name":"ros-jazzy-moveit-ros-benchmarks","requires":[],"size":257662,"version":"2.12.1","binstar":{"package_id":"6777e16fb734ab2338a47673","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3f572d69b7ce79f3cd66579d20c412303ef4a097609d21e7a2ca226701dd31b3"},"ros-jazzy-moveit-ros-move-group-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736493247961,"md5":"c91841dcbc93c88b0744600adbef23b3","name":"ros-jazzy-moveit-ros-move-group","requires":[],"size":481322,"version":"2.12.1","binstar":{"package_id":"6777e1703788bac9f3c4c110","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d362ba0c31762a36c248578715d53e16f09f43388799b06df7ed03e450fa4489"},"ros-jazzy-desktop-full-0.11.0-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736489316949,"md5":"9a01e71872d048d33c43087c7e7e9bfd","name":"ros-jazzy-desktop-full","requires":[],"size":20715,"version":"0.11.0","binstar":{"package_id":"6777e2134cca628f07a47679","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7d1349a9f6733649d43349564d526e54b1f18b7cf9f45b614b98205feaa76454"},"ros-jazzy-moveit-resources-prbt-moveit-config-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736493759414,"md5":"55952aa3be3d35cc48d2ab6e618350cd","name":"ros-jazzy-moveit-resources-prbt-moveit-config","requires":[],"size":32353,"version":"2.12.1","binstar":{"package_id":"6777e21476332b66b0a47661","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc4608b26a7eacdf793bbf4d2f6288f991b2b3f10ed9015530270aff12fed2ba"},"ros-jazzy-moveit-ros-planning-interface-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736493779189,"md5":"95b41df100a72115b9ddddcc0ba47bb5","name":"ros-jazzy-moveit-ros-planning-interface","requires":[],"size":346931,"version":"2.12.1","binstar":{"package_id":"6777e2154d45c7eb08e2b45e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"287af1966012accefef8ff8bf4c3fb6acb10662ea94c2ce73e1c5b5395e36810"},"ros-jazzy-moveit-resources-prbt-pg70-support-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736493936934,"md5":"1c0f69cf54ef342d008cd19cd71c8127","name":"ros-jazzy-moveit-resources-prbt-pg70-support","requires":[],"size":203712,"version":"2.12.1","binstar":{"package_id":"6777e34ea410428903a4767c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"40494152355124c3565ca86bd8fa6138bb7b536b8505e41e7243ea4be9d81b8a"},"ros-jazzy-moveit-ros-visualization-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736493971024,"md5":"e25a7c4c52f1593f895f1fac726fb00c","name":"ros-jazzy-moveit-ros-visualization","requires":[],"size":798416,"version":"2.12.1","binstar":{"package_id":"6777e34fa410428903a4767e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e8551124c5a55666196127eaec50cd10471d44ce55282f4aad35af3a58eb4061"},"ros-jazzy-moveit-ros-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","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":"osx","timestamp":1736494584383,"md5":"cabfa27edde941aac560a06706f34045","name":"ros-jazzy-moveit-ros","requires":[],"size":21066,"version":"2.12.1","binstar":{"package_id":"6777e4e176332b66b0a47666","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1f4f83497a69705ee25e36684761b5b4fddac1d949c3d4c17f207cfa2f4eb9ea"},"ros-jazzy-moveit-setup-framework-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","fmt >=11.0.2,<12.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","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736494492784,"md5":"44215334135105aaf9b55860f55da38f","name":"ros-jazzy-moveit-setup-framework","requires":[],"size":283161,"version":"2.12.1","binstar":{"package_id":"6777e4e2d591a39b33e2b460","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d46f267ab65b3b40aae5f0fd7beaf597562f5464f6be3a7984fa3fb70898d955"},"ros-jazzy-pilz-industrial-motion-planner-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.14","libboost-python >=1.86.0,<1.87.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736494290411,"md5":"e67835ac0fbce618dd5abc99cc8c826b","name":"ros-jazzy-pilz-industrial-motion-planner","requires":[],"size":462611,"version":"2.12.1","binstar":{"package_id":"6777e4e71624366d48a4766f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"244acd3f42dd04c4f562fcce93cfaca7760639546028a2173093128141d0091a"},"ros-jazzy-moveit-planners-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","libcxx >=19","__osx >=10.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":"osx","timestamp":1736494628977,"md5":"c3c6f69b3faa20c62cf8f9c0de64df1f","name":"ros-jazzy-moveit-planners","requires":[],"size":20915,"version":"2.12.1","binstar":{"package_id":"6777e6916be72844a31b138d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c0bf03632e2fc43b477ebdd6219874620e63a88cc1b27045ab7e449c6ed4cc1b"},"ros-jazzy-moveit-setup-app-plugins-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736495006208,"md5":"7ae9f7ee6a8e7deadea44c094f6aaaab","name":"ros-jazzy-moveit-setup-app-plugins","requires":[],"size":141874,"version":"2.12.1","binstar":{"package_id":"6777e692bdaeb471dc4c3c28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"31ed03f9db8d6ddd1e1a54a0853bd136f115b14bf087de24558f06a399d60328"},"ros-jazzy-moveit-setup-controllers-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736494843128,"md5":"9eda189f64d8bc24af4f428154653960","name":"ros-jazzy-moveit-setup-controllers","requires":[],"size":240259,"version":"2.12.1","binstar":{"package_id":"6777e693ba3f27ef559db57a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5bb09b9a1a50ab38672ee3a91056aee898774ddb7c9a7b808573bd8887427355"},"ros-jazzy-moveit-setup-core-plugins-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.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":"osx","timestamp":1736494677134,"md5":"56d9536607c344a9b24dfeb0a2d8a021","name":"ros-jazzy-moveit-setup-core-plugins","requires":[],"size":126964,"version":"2.12.1","binstar":{"package_id":"6777e6954d45c7eb08e2b46f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc6870fec53b2166f31198eeaa4bb6c712861f6f6e74ae1de3578110a01674a9"},"ros-jazzy-moveit-setup-srdf-plugins-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["python","ros-jazzy-moveit-setup-framework","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736495086011,"md5":"2c0a1a1bd57a88170460e8ab1d372c01","name":"ros-jazzy-moveit-setup-srdf-plugins","requires":[],"size":405592,"version":"2.12.1","binstar":{"package_id":"6777e696318b948ab4e2b461","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7513d08d85bf68f9db3b70949d14b49cc680da102e29a44eeaa5410cd766c94b"},"ros-jazzy-moveit-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","numpy >=1.26.4,<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":"osx","timestamp":1736495528059,"md5":"a4ca9ee594418b497791159d1fafe540","name":"ros-jazzy-moveit","requires":[],"size":21700,"version":"2.12.1","binstar":{"package_id":"6777e70d7ca11eb50f4c3c29","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8a98a89e8779256177982cff68c217657f3c9d33c8171ff8c3830b43264a74ca"},"ros-jazzy-moveit-setup-assistant-2.12.1-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","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","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736495330769,"md5":"fd387a302f49cee0e1f0aa2ca35e9c8e","name":"ros-jazzy-moveit-setup-assistant","requires":[],"size":342738,"version":"2.12.1","binstar":{"package_id":"6777e70f3c23b9b6784c3c28","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3333192e8f0005510d5c499c048ad3b329b547903cb2001c42591ab1b0bcc891"},"ros-jazzy-plotjuggler-3.9.2-np126py311h5e9f08c_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h5e9f08c_2","build_number":2,"depends":["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","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","zeromq >=4.3.5,<4.4.0a0","xorg-libxext >=1.3.6,<2.0a0","libboost >=1.86.0,<1.87.0a0","qt-main >=5.15.15,<5.16.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","zstd >=1.5.6,<1.6.0a0","libxcb >=1.17.0,<2.0a0","libprotobuf >=5.28.2,<5.28.3.0a0","libboost-python >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736486026287,"md5":"30d550e80b43485ec106bbbdfb554fe7","name":"ros-jazzy-plotjuggler","requires":[],"size":9802527,"version":"3.9.2","binstar":{"package_id":"6777f023aec0f2e2504c3c31","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"45f4c02d186b6c10f03ec7b71d6c18c3aa0eb3e350984f882b4a86eb4c987e1e"},"ros-jazzy-plotjuggler-ros-2.1.2-np126py311h8a2294f_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h8a2294f_2","build_number":2,"depends":["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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=19","__osx >=10.14","libboost-python >=1.86.0,<1.87.0a0","qt-main >=5.15.15,<5.16.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311","xorg-libxext >=1.3.6,<2.0a0","xorg-libx11 >=1.8.10,<2.0a0","libboost >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1736487005967,"md5":"bc0b39ca2bf0be62d2fa132842f6477d","name":"ros-jazzy-plotjuggler-ros","requires":[],"size":302203,"version":"2.1.2","binstar":{"package_id":"6777fe7d67fad119a1db6bec","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1bce5744aeba707c82d3621c2bf59e4b2b4db4177a9ff280ea7c847a2afb1052"},"ros-jazzy-python-orocos-kdl-vendor-0.5.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","python-orocos-kdl","ros-jazzy-orocos-kdl-vendor","ros-jazzy-pybind11-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","python-orocos-kdl >=1.5.1,<1.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1737495935580,"md5":"9f5bba04862c261b48d3d0b37a4cb26a","name":"ros-jazzy-python-orocos-kdl-vendor","requires":[],"size":25791,"version":"0.5.1","binstar":{"package_id":"6790161a0909cdba7040ca27","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9633b7a09eec5d5671ac1d3b834a036ff39ed9911163c94f3342ba1cb4c1f843"},"ros-jazzy-joint-trajectory-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442796684,"md5":"07db9cc2fede757b181f6499c12e048d","name":"ros-jazzy-joint-trajectory-controller","requires":[],"size":340384,"version":"4.18.0","binstar":{"package_id":"679e8640fbb5d73a1d9af3e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bed68a05927665b226356bb2e023d476f82487a764e0e11c4ccb53aef10b033a"},"ros-jazzy-force-torque-sensor-broadcaster-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442341167,"md5":"f531189da1c32c3073f9874b7c0949f6","name":"ros-jazzy-force-torque-sensor-broadcaster","requires":[],"size":155709,"version":"4.18.0","binstar":{"package_id":"679e86417248eeb802bf8e50","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"04d047722260357a8124d24718773b14ccd77618aaa45a06a05ae6c7fb788232"},"ros-jazzy-kinematics-interface-1.2.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["eigen","python","ros-jazzy-rclcpp-lifecycle","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442238120,"md5":"79114c26e2ccb274599a3026b7095067","name":"ros-jazzy-kinematics-interface","requires":[],"size":42768,"version":"1.2.1","binstar":{"package_id":"679e8644e16554282fd30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2dd6f33177a5b2d1b4319bd6d1c21591205e3197ba260bbe91c33f5c6f722b3e"},"ros-jazzy-gpio-controllers-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442289463,"md5":"b58f33fdfe392d5e4d9fbd3ea2434837","name":"ros-jazzy-gpio-controllers","requires":[],"size":216897,"version":"4.18.0","binstar":{"package_id":"679e8645a700e157fef64af7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3f16844e3515f74bd7ad402f573ee72fb7a57ce837486b7badaf95d9b26a15ca"},"ros-jazzy-imu-sensor-broadcaster-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442214216,"md5":"6b3ba46f427aa370a3455bb6f5e7ead5","name":"ros-jazzy-imu-sensor-broadcaster","requires":[],"size":142211,"version":"4.18.0","binstar":{"package_id":"679e86462e2e34fd25bb4cbe","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f9314e3c2775ca2ac64aef97ed312d49db6e813ba8042e23591030a5409b23ae"},"ros-jazzy-parallel-gripper-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442955565,"md5":"06fc5cf21844164882f8ca694f5e33ef","name":"ros-jazzy-parallel-gripper-controller","requires":[],"size":146347,"version":"4.18.0","binstar":{"package_id":"679e8646570de9cbb7c3b7e3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"58a3066d58228010e9ae10330e8d458ad69724cabc39b12257a766bff9dc53bf"},"ros-jazzy-joint-state-broadcaster-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442481800,"md5":"d07e515c51efa6a4ce51756ecea493d4","name":"ros-jazzy-joint-state-broadcaster","requires":[],"size":169356,"version":"4.18.0","binstar":{"package_id":"679e86472b3807adc0b281ac","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4f119dcb186464f6a3154b96da0ac4d6b8d4e291b207871077b7bf15a876cdc7"},"ros-jazzy-graph-msgs-0.2.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442337442,"md5":"7b8516619362e747781d6e4b1df69e5b","name":"ros-jazzy-graph-msgs","requires":[],"size":97468,"version":"0.2.0","binstar":{"package_id":"679e86476403c82b91d30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8de9a8f277bf3828bf11614921286d13d30cd945f33f75c35f046c650eb71ba8"},"ros-jazzy-pid-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442907118,"md5":"a86266c62a3b517323bb2300c2d1ebfe","name":"ros-jazzy-pid-controller","requires":[],"size":250292,"version":"4.18.0","binstar":{"package_id":"679e8648204da077a1f64af7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5898478e4488f132196ad5c28dc4efa6f1b4f0aa8119eed9f4b36ff5237eae88"},"ros-jazzy-mecanum-drive-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442412124,"md5":"4e81d599e8175fc346da7ca1255364b0","name":"ros-jazzy-mecanum-drive-controller","requires":[],"size":257777,"version":"4.18.0","binstar":{"package_id":"679e864890552b73725045ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9b9c6c0813c356ef081398858859587cff1eb91e9a44c92b8334d5856699d029"},"ros-jazzy-ros2controlcli-4.23.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442541872,"md5":"fd7248185069731547816e6bc9259c1c","name":"ros-jazzy-ros2controlcli","requires":[],"size":69900,"version":"4.23.0","binstar":{"package_id":"679e8648dbc031097d59e9e4","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6a44e25eb751365dabb6444bb3a9ee506e0c0022d504fa546c20d5697eeb82b4"},"ros-jazzy-steering-controllers-library-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442332886,"md5":"d8d29451098007b72a5f264530fde63b","name":"ros-jazzy-steering-controllers-library","requires":[],"size":257898,"version":"4.18.0","binstar":{"package_id":"679e8649694331555bbb4cbd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d8487f82d51a4927a101ee7deb0c6132c5772d5bacc42ce1b6abb74079b2adab"},"ros-jazzy-pose-broadcaster-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442358575,"md5":"5c46a37c569853fb98ea90b2a34f8b75","name":"ros-jazzy-pose-broadcaster","requires":[],"size":158415,"version":"4.18.0","binstar":{"package_id":"679e86499d25953dcb3c0672","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f6286f8982e70eaf7c19ae953f85830c562c3964f0007a5fbe569550422fe6d2"},"ros-jazzy-rviz-visual-tools-4.1.4-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.13","libcxx >=18","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0","qt-main >=5.15.15,<5.16.0a0","xorg-libxext >=1.3.6,<2.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442211749,"md5":"b6729c02e70bb53fc8802dabb75cf085","name":"ros-jazzy-rviz-visual-tools","requires":[],"size":399035,"version":"4.1.4","binstar":{"package_id":"679e8649c622dee0b6b5cb31","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1771d39c2efd37b5891ceafc01cdc34a6f5e1ae786c472bd7b8618e3029f0848"},"ros-jazzy-velocity-controllers-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442386263,"md5":"ee6ea6dc95c579c66c5f022f2126d07f","name":"ros-jazzy-velocity-controllers","requires":[],"size":67322,"version":"4.18.0","binstar":{"package_id":"679e864b561e6fc338c7d31c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"37121cb967ff2bc5ef97ff17d1fb7a414a137429c21a2fb7cef4b84fc3a6083c"},"ros-jazzy-range-sensor-broadcaster-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442315714,"md5":"08fe23a6e4bafe94df777d9c4c59bb52","name":"ros-jazzy-range-sensor-broadcaster","requires":[],"size":137415,"version":"4.18.0","binstar":{"package_id":"679e864bc87fe5017cc3b7e6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f649b63eee3664cf8e5ed60ad1340e863e2c2df1ec87871928af747cb96709d0"},"ros-jazzy-transmission-interface-4.23.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-hardware-interface","ros-jazzy-pluginlib","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442507887,"md5":"1d3e67222eb2624d6d8f30dcab3164d2","name":"ros-jazzy-transmission-interface","requires":[],"size":90010,"version":"4.23.0","binstar":{"package_id":"679e864be16554282fd30e45","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"517c9210f04d3eba4eefdf446ba8d3d7447bcbe08538415f75e5aa45b7353a9a"},"ros-jazzy-tricycle-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442210983,"md5":"cfdc8ebbe634b3b669bd5342455bbe7e","name":"ros-jazzy-tricycle-controller","requires":[],"size":282198,"version":"4.18.0","binstar":{"package_id":"679e864c081e7d3816bf8e50","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5f6426a5e6b7ecef9fb6ee7a704df5e7308f3e1ef24efb7c1a77ce2fa4d33198"},"ros-jazzy-zenoh-cpp-vendor-0.2.0-np126py311h39f559d_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h39f559d_2","build_number":2,"constrains":["__osx >=10.13"],"depends":["python","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libzenohc >=1.1.1,<1.1.2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442565946,"md5":"951232bea9bdfe4e8476a32053f5146c","name":"ros-jazzy-zenoh-cpp-vendor","requires":[],"size":23593,"version":"0.2.0","binstar":{"package_id":"679e864dc8e25970753c0673","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"29bca64dbd21dd21317c494c27d1e4e1cd6119937f5e1ba34a5c21a3f8af9ef1"},"ros-jazzy-diff-drive-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442773800,"md5":"f73d70c9056cd6ad79f2b1361df4ff32","name":"ros-jazzy-diff-drive-controller","requires":[],"size":288759,"version":"4.18.0","binstar":{"package_id":"679e865bf39e935e935045ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e679d11902610ef30ac938364ed202b116cddd785ffa683dac5027458d836818"},"ros-jazzy-effort-controllers-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442378192,"md5":"43917497a627fc2068db6e72266ad3bf","name":"ros-jazzy-effort-controllers","requires":[],"size":67256,"version":"4.18.0","binstar":{"package_id":"679e865c150b53ba29bb4cbd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d993de91fc8b6d46a181d7ba3c54720992f2c4d2ea0daedcfb4bd30819d4a442"},"ros-jazzy-gz-ros2-control-1.2.9-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","libcxx >=18","__osx >=10.13","xorg-libx11 >=1.8.10,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442391335,"md5":"c393b92257a8a1afdec09a8e9c6adb2c","name":"ros-jazzy-gz-ros2-control","requires":[],"size":320088,"version":"1.2.9","binstar":{"package_id":"679e865e081e7d3816bf8e52","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2218751cc0e716ddec3d92922022ec5cde96d32fccc118aefb78152c3964c2d6"},"ros-jazzy-twist-mux-msgs-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442407341,"md5":"18bc5d2db328699d910884b121558ef8","name":"ros-jazzy-twist-mux-msgs","requires":[],"size":223966,"version":"3.0.1","binstar":{"package_id":"679e865e617f3d26a89af3e9","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"466817e1fa4b2cce22e09736ab17c311a19289d1b182a0b1bc648d735af14d5d"},"ros-jazzy-ur-dashboard-msgs-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-action-msgs","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442298149,"md5":"fe0311830b58b1644a7d8f1dd87dc67e","name":"ros-jazzy-ur-dashboard-msgs","requires":[],"size":463636,"version":"3.0.1","binstar":{"package_id":"679e865fa0bb128bc3d30e43","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cc6553277f1bad1cf13f0f74602e0d2739cfc53ecc289e145534ced3843d8b90"},"ros-jazzy-ros2-controllers-test-nodes-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442591712,"md5":"19c5320f1d2d8b649eafc4a392ec350d","name":"ros-jazzy-ros2-controllers-test-nodes","requires":[],"size":39676,"version":"4.18.0","binstar":{"package_id":"679e86604b598d6cacb5cb30","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8622b139ead2153f66f8e0c2f1a16a4cae59f94c15841f5e6a2b6594857f8e9f"},"ros-jazzy-ur-msgs-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442207507,"md5":"0c532c68346a25521cdc7fbcd3e4c856","name":"ros-jazzy-ur-msgs","requires":[],"size":380136,"version":"2.1.0","binstar":{"package_id":"679e8661a77656a4ee9af3e5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"172e3275dc6ac92d76accd5cbb9585377fae2ec3547408e6600537db0c1ab9a6"},"ros-jazzy-ur-client-library-1.5.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442392456,"md5":"9fdedf778b2a67b83b6ce73d4b980ce1","name":"ros-jazzy-ur-client-library","requires":[],"size":261610,"version":"1.5.0","binstar":{"package_id":"679e8662694331555bbb4cbf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"edc1ac317a556e488cbf945a05ee384211bbf4b1f733d113bc5ac34148052ee9"},"ros-jazzy-ur-description-3.0.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.13","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","urdfdom >=4.0.1,<4.1.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442549971,"md5":"d2f750109c67e9b41b90f6abc404033f","name":"ros-jazzy-ur-description","requires":[],"size":23752918,"version":"3.0.0","binstar":{"package_id":"679e8665020e97e09bb281af","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cbd96e77cd4e3c81d0be4ef9224df773ace9b9664f00019d7e01d64a4a74d0e9"},"ros-jazzy-warehouse-ros-sqlite-1.0.5-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","libboost-python >=1.86.0,<1.87.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","libboost >=1.86.0,<1.87.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442454452,"md5":"12e8b8b8de9ba13ca2946ac4ba5c2689","name":"ros-jazzy-warehouse-ros-sqlite","requires":[],"size":102593,"version":"1.0.5","binstar":{"package_id":"679e866ada5b6d3e82b281ae","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9c18abc9d7814f4885eb83edd97831ef9e7301d32648c1526631e4e8dbeab637"},"ros-jazzy-ackermann-steering-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442944883,"md5":"d1d14ba9d2bc12c70809eb7b3c18b0c7","name":"ros-jazzy-ackermann-steering-controller","requires":[],"size":91548,"version":"4.18.0","binstar":{"package_id":"679e86db6403c82b91d30e47","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0d63b58f0b5ff379988a81411901f37286dda677e85642934960035865618f86"},"ros-jazzy-bicycle-steering-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442902159,"md5":"ce96f4b848cf561e04384c6a60ea9d89","name":"ros-jazzy-bicycle-steering-controller","requires":[],"size":88967,"version":"4.18.0","binstar":{"package_id":"679e86dd7ef270a862926cfd","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"810ba1fd26ac0bad686ed29685f2de2b41816f13c441f745364f826f7cf7ab46"},"ros-jazzy-kinematics-interface-kdl-1.2.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442747318,"md5":"470dbb10a73e6f4234dbb09c88e78a05","name":"ros-jazzy-kinematics-interface-kdl","requires":[],"size":98882,"version":"1.2.1","binstar":{"package_id":"679e86de64ec069b58f64afa","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"876c592db3bef34cedfc7f426864cc9e130f2a490a2a1ed86982a052c85ed018"},"ros-jazzy-tricycle-steering-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738442873306,"md5":"f7746179d9bec69778556c4b1f734281","name":"ros-jazzy-tricycle-steering-controller","requires":[],"size":90533,"version":"4.18.0","binstar":{"package_id":"679e86e4081e7d3816bf8e57","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"548f747ec3a37b162ee6ef172e577d66cfd2cc8ec9f1d630bbea3a8587e12b77"},"ros-jazzy-twist-mux-4.4.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738442978927,"md5":"484eeb3061f17157f8f89124fbeec225","name":"ros-jazzy-twist-mux","requires":[],"size":302028,"version":"4.4.0","binstar":{"package_id":"679e86e6e5298cd157b281ad","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"11b81a3d19e49aa166d594b7651cee9320383bc5c524e5e0ed25ee770c4f3824"},"ros-jazzy-moveit-servo-2.12.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-control-msgs","ros-jazzy-controller-manager","ros-jazzy-generate-parameter-library","ros-jazzy-geometry-msgs","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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738443242402,"md5":"9dfd177ae614ea93aebe77a6084bf350","name":"ros-jazzy-moveit-servo","requires":[],"size":753000,"version":"2.12.1","binstar":{"package_id":"679e8756126bc9de4ad30e48","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"43b69c487482dc200c244869f808d5253ad0dbbbf5845a7b1434915cdfac8601"},"ros-jazzy-moveit-servo-2.12.1-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738785726106,"md5":"4f4de019f8d230a1c06a45dec76c73cd","name":"ros-jazzy-moveit-servo","requires":[],"size":756155,"version":"2.12.1","binstar":{"package_id":"679e8756126bc9de4ad30e48","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c57b0f391b887dcde288a55c6f0d5fd7e001c0cb7936efe32bec18b967aaf0d3"},"ros-jazzy-moveit-visual-tools-4.1.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.13","libcxx >=18","numpy >=1.26.4,<2.0a0","xorg-libxext >=1.3.6,<2.0a0","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","xorg-libx11 >=1.8.10,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442820903,"md5":"8c649fe1c2b8c1446661ee883a0e5384","name":"ros-jazzy-moveit-visual-tools","requires":[],"size":390305,"version":"4.1.1","binstar":{"package_id":"679e87586403c82b91d30e4a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e5007cccd53ffd12996a31d3a82b6e056ab6eb395d54234ecbf8343aa5518826"},"ros-jazzy-rmw-zenoh-cpp-0.2.0-np126py311h39f559d_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311h39f559d_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.13","ros2-distro-mutex >=0.6.0,<0.7.0a0","numpy >=1.26.4,<2.0a0","libzenohc >=1.1.1,<1.1.2.0a0","python_abi 3.11.* *_cp311"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738442739033,"md5":"01afadfde88d54aa059b849f5e4e56db","name":"ros-jazzy-rmw-zenoh-cpp","requires":[],"size":234466,"version":"0.2.0","binstar":{"package_id":"679e87597248eeb802bf8e55","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"81ae2e51e3223d4f3b48f9b76e02e157227202b8d2ef69cf07c10f2b0e30ad5d"},"ros-jazzy-ros2-control-4.23.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738443025125,"md5":"6bfdcc74d1c1503ff0d979d9802a8633","name":"ros-jazzy-ros2-control","requires":[],"size":20927,"version":"4.23.0","binstar":{"package_id":"679e875a64ec069b58f64b00","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"edd79595f26e5fb9521afd962954930cfb4130950a87d6fffd658ae32ce81589"},"ros-jazzy-ur-controllers-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738443174202,"md5":"a4c495332e5f7678b06cd44ed5cead2c","name":"ros-jazzy-ur-controllers","requires":[],"size":449467,"version":"3.0.1","binstar":{"package_id":"679e875b9d25953dcb3c0676","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cba11082b9bd1859610eae10c9bd234e93ffe471eea7eff4aa7644227abf4318"},"ros-jazzy-admittance-controller-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738443072626,"md5":"975c24f3f19ff652268578d7e0d9db91","name":"ros-jazzy-admittance-controller","requires":[],"size":357552,"version":"4.18.0","binstar":{"package_id":"679e87daf8f2da91d6c3b7eb","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"fa6e662fd7fb78cd87aecb792c99595efabac0886ed72695da1e665b6331519a"},"ros-jazzy-gz-ros2-control-demos-1.2.9-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","xorg-libx11","xorg-libxext","__osx >=10.13","libcxx >=18","python_abi 3.11.* *_cp311","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"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738443392340,"md5":"79f2aa330cba9d8c25d6d77f8209093a","name":"ros-jazzy-gz-ros2-control-demos","requires":[],"size":168578,"version":"1.2.9","binstar":{"package_id":"679e87dcaf3e225f1d5045b0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d1257706b6d3b3501297007cf27642658aa5aaf74221f04c45d2da93e4965e2b"},"ros-jazzy-ur-moveit-config-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738443710753,"md5":"b9fa922bba2d2dd01c2be547045a4a4d","name":"ros-jazzy-ur-moveit-config","requires":[],"size":45669,"version":"3.0.1","binstar":{"package_id":"679e87dda8a3a7a7a93c0679","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"40b4c8d8c43e5149127aa56bbd149d4d3e68614b8c7e2578f16e1dafb8b30f92"},"ros-jazzy-ur-robot-driver-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738443523755,"md5":"8d1cf7fb40466bc0e25789150b36d859","name":"ros-jazzy-ur-robot-driver","requires":[],"size":682821,"version":"3.0.1","binstar":{"package_id":"679e87de7ef270a862926d02","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"50aa3350afb4889bc71442a0597c8f357f5d8eab32ed15346b6e64b1e42ffcc2"},"ros-jazzy-ros2-controllers-4.18.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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-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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738443478930,"md5":"16b542163919666031c233637f7571ff","name":"ros-jazzy-ros2-controllers","requires":[],"size":21467,"version":"4.18.0","binstar":{"package_id":"679e88317d0a51642e926d12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"47981aa23c5213dc4399fc6ca5994a439f7f7f66dbcef96c0e924fe19959d283"},"ros-jazzy-ros2-controllers-4.18.0-np126py311hd69bdec_3.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1738785710517,"md5":"69b11b93c0accb445505451af36e615c","name":"ros-jazzy-ros2-controllers","requires":[],"size":21443,"version":"4.18.0","binstar":{"package_id":"679e88317d0a51642e926d12","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"db38f6c6ebd3ee20b69cd96f8bd7445d3bf72f0ba5fda278617e807e43134bfb"},"ros-jazzy-ur-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738443878054,"md5":"0b5147e14e93c5219fb1850e080a9b82","name":"ros-jazzy-ur","requires":[],"size":24574,"version":"3.0.1","binstar":{"package_id":"679e883364ec069b58f64b05","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ea9b6fc09690af5396edf0422e8aa7f59e27e586db23d3b1e3231b12cd2d25b6"},"ros-jazzy-ur-calibration-3.0.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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","__osx >=10.14","__osx >=10.13","libcxx >=18","numpy >=1.26.4,<2.0a0","yaml-cpp >=0.8.0,<0.9.0a0","python_abi 3.11.* *_cp311","ros2-distro-mutex >=0.6.0,<0.7.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738443753829,"md5":"e09b505ecfe84594977a64c3849e5cac","name":"ros-jazzy-ur-calibration","requires":[],"size":101154,"version":"3.0.1","binstar":{"package_id":"679e8835570de9cbb7c3b7e8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"148b8eebd740368b0efe1c45bc905fd42ec2f6b591a0d03f1a5b08483aa555da"},"ros-jazzy-ur-simulation-gz-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.13","ros2-distro-mutex >=0.6.0,<0.7.0a0","python_abi 3.11.* *_cp311","numpy >=1.26.4,<2.0a0","urdfdom >=4.0.1,<4.1.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1738443860038,"md5":"1e8b843306591fae858d9e663fa25ca2","name":"ros-jazzy-ur-simulation-gz","requires":[],"size":43631,"version":"2.1.0","binstar":{"package_id":"679e883664ec069b58f64b07","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4a91483cc69d5ebcd042cdb242bd74d14ec75d36d153229d677013fa35ea0cef"},"ros-jazzy-flex-sync-2.0.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1738610533941,"md5":"cfa2d8a0f260250a357a4651eab9e821","name":"ros-jazzy-flex-sync","requires":[],"size":47145,"version":"2.0.0","binstar":{"package_id":"67a117688046e4d238fa8fa5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c7bcf9f87988fa3d2155c6d1c43e2ebc69d62c6c2885c181d3c9fca375d90da3"},"ros-jazzy-ament-cmake-mypy-0.17.1-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-ament-cmake-test","ros-jazzy-ament-mypy","ros-jazzy-ros-workspace","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1739348864883,"md5":"305f5fa2f5b51e161296dc048dbcf98f","name":"ros-jazzy-ament-cmake-mypy","requires":[],"size":21788,"version":"0.17.1","binstar":{"package_id":"67ac5a94baf8dda591b187d2","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"06642579ce5e8d5d1e3f213e90e720e51140f6ab436c24f7d677b1d12bb17046"},"ros-jazzy-rosapi-msgs-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1739348711173,"md5":"620cc2f519da5ee69a7e6878e2921106","name":"ros-jazzy-rosapi-msgs","requires":[],"size":723465,"version":"2.1.0","binstar":{"package_id":"67ac5a96b7a8a3a4a4aad7f7","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5a76892004d46700d5cf9da21b864854963ac031b0e3e47cb97e56739534fac9"},"ros-jazzy-rosbridge-msgs-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1739348838337,"md5":"94666a1f7fbbfb8ee9fb6666e9fc7ebd","name":"ros-jazzy-rosbridge-msgs","requires":[],"size":84457,"version":"2.1.0","binstar":{"package_id":"67ac5a97d5b3b9ce6cb187d1","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"42c4a7294c5f259da5197c9c9cdbb410ea8d4ffa32f624624f197b32e59f14d6"},"ros-jazzy-rosbridge-test-msgs-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1739348496808,"md5":"6e499fdc75df594af8a0cc428f92af54","name":"ros-jazzy-rosbridge-test-msgs","requires":[],"size":945567,"version":"2.1.0","binstar":{"package_id":"67ac5a99eeaf1c29bf69fb6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1c30ebd5ae2af018bb0542dc4bd93f1b225d03d56c0798e14e7e4c08f96686c4"},"ros-jazzy-rosapi-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1739348946825,"md5":"c0c78c1121297d60c092417c16a2a4af","name":"ros-jazzy-rosapi","requires":[],"size":54292,"version":"2.1.0","binstar":{"package_id":"67ac5ac30ed39038db69fb74","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2fee48b0ce983f667d17bd5364b6b78b44bfb4f3570db7d7cd18f4fffc9b6d8a"},"ros-jazzy-rosbridge-library-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["pillow","pymongo","python","ros-jazzy-rclpy","ros-jazzy-ros-workspace","ros-jazzy-rosidl-default-runtime","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1739348907017,"md5":"8d0ee8ec4e55a2817d082d2a14dce16c","name":"ros-jazzy-rosbridge-library","requires":[],"size":144654,"version":"2.1.0","binstar":{"package_id":"67ac5ac530ccf2467ee0a1a0","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8cb7d7ff85b1d4fdc5c4e218be25dc8013822a6de5148f677f86eaba05703f2b"},"ros-jazzy-rosbridge-server-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"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","__osx >=10.14","libcxx >=18","__osx >=10.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":"osx","timestamp":1739348962970,"md5":"c69330c2538ad8db896d0a69b13681e3","name":"ros-jazzy-rosbridge-server","requires":[],"size":52854,"version":"2.1.0","binstar":{"package_id":"67ac5ac6a538b1780fe0a18b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"188837c1cd13ab86f8d0979f2e84c8729343d6e86deb7319aa2a9ac938574add"},"ros-jazzy-rosbridge-suite-2.1.0-np126py311hd69bdec_2.conda":{"operatingsystem":"darwin","machine":"x86_64","target-triplet":"x86_64-any-darwin","has_prefix":false,"subdir":"osx-64","arch":"x86_64","build":"np126py311hd69bdec_2","build_number":2,"depends":["python","ros-jazzy-ros-workspace","ros-jazzy-rosapi","ros-jazzy-rosbridge-library","ros-jazzy-rosbridge-server","ros2-distro-mutex 0.6.* jazzy_*","__osx >=10.14","__osx >=10.13","libcxx >=18","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":"osx","timestamp":1739348980477,"md5":"cee3feec77f4577b6c1ba9950e7769ad","name":"ros-jazzy-rosbridge-suite","requires":[],"size":20890,"version":"2.1.0","binstar":{"package_id":"67ac5ac9eeaf1c29bf69fb6e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"49869c44925a947010356526e9ab7d8db94f769350e7f36d236fb099c5c8a436"}},"info":{"default_numpy_version":"1.7","default_python_version":"2.7","platform":"osx","arch":"x86_64","subdir":"osx-64"}}
\ No newline at end of file